Previous implementation matches <type-name>:1x.0 and <type-name>:1.0, depending on the order of the arguments, e.g. NTUtils::is_a("epics:nt/NTTable:11.0", "epics:nt/NTTable:1.0") returned true. Fix this and add unit tests to cover this.