Closes #250 and adds tests to the fuzzy logic involved in UA sniffing