fixed a problem with TimestampField resolution
Also had to fix the unit test, as the unit test assumed that `654321` microseconds stored with a millisecond precision would come out as `654` microseconds instead of `654000` microseconds.

When retrieving a value from the database, TimestampField didn't properly scale the microseconds by the resolution. Instead of using the resolution, it would always assume the fractional portion was in microseconds.

This fixes that by scaling the fractional second portion as a function of the resolution.
