Fixing when cookie expiration date received by .NET exceeds max DateTime

When receiving a cookie via the JSON wire protocol, the expiration date is
represented as the number of seconds after 12:00:00 AM January 1, 1970
GMT. When a number greater than or equal 253402300800, this is larger than
the maximum value of .NET's DateTime value. This change catches the
ArgumentOutOfRangeException and forcibly sets the expiration to
DateTime.MaxValue (12:59:59 PM December 31, 9999 GMT). Fixes issue #5692.