[Ready for review] Handle C#/Azure DateTime range differences

Old behavior/functionality:
* This was throwing a generic ```InvalidOperationException``` with the message "Table storage returned 400 Bad Request"
* This problem occurred on real table storage, but not on the emulator.

New behavior/functionality:
* This throws a ```ArgumentOutOfRangeException``` with a more helpful message. Since the param name was unavailable, I wasn't able to use the appropriate exception constructor to include it without doing some significant reworking of the converters.
* Users will see the same behavior on both real table storage and on the emulator.
* Two new static variables exist on ```TableStorageProvider``` for initializing ```DateTime``` and ```DateTimeOffset``` to the minimum values supported by table storage.