Fix dates

Besides the Int64 endianess fix, Date -> Int64 was missing, MongoDate abstract over Date.

The implementation over an abstract avoids the need to duplicate encoding behaviour for Date and MongoDate.