Support millisecond precision

The use of NSDateComponents means any millisecond accuracy in the timestamp is lost.

This pull request fixes this by re-adding the milliseconds after constructing the NSDate object. A unit test is included.

There were two unit test failures before my changes.