Add UA matching for IE 11+ and Opera 15+ (with Blink). Fixes #954 and #955

IE 11 introduces a new useragent that doesn't contain "MSIE", so we sniff for "Trident" instead.

Opera 15 switches to the Blink engine and masquerades as Chrome and Safari. We sniff for "OPR" to identify it as Opera, and also extract the reported WebKit version (although this isn't really a real WebKit version anymore, so at some point we should probably add sniffing specifically for Blink).

Also refactored the UA test loop to be less cryptic.