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 goddamn cryptic.