Add `date` type which maps to `MongoDate` and refactor `parseValues`

I believe that you are actually wanting `date` rather than `timestamp`.

>**MongoTimestamp is used by sharding**. If you're not looking to write sharding tools, what you probably want is MongoDate.
>
>MongoTimestamp is 4 bytes of timestamp (seconds since the epoch) and 4 bytes of increment.
>
>**This class is not for measuring time, creating a timestamp on a document or automatically adding or updating a timestamp on a document. Unless you are writing something that interacts with the sharding internals, stop, go directly to MongoDate, do not pass go, do not collect 200 dollars. _This is not the class you are looking for._**

I also refactored `parseValues` to better support the aliases as well as removing unnecessary conditionals.