Split version parsing into two expressions

This splits a single regular expression that parsed version numbers
from the user agent into two, where the first is MSIE-specific and
the second is for the generic browsers hiding behind the compatible
token. This fixes parsing the IE version from user agent strings
that are mangled.