Improve ASN1 date parsing

Fixes date parsing for UTCTime formatted dates where year values >= 50 should use 19 as the century prefix, and adds support for GeneralizedTime formatted dates which have four digit years. For the curious, RFC 2459 section 4.1.2.5 has the gritty details.