[events/when] Update the api to support the 'when' property for specifying times and dates to be more explicit.

Summary:
[events/when] More 'when' support as well as improved testing.
Note that the documentation needs to be overhauled for the new API and will be done in a separate commit.

Test Plan: run the new tests.

Reviewers: emfree

Reviewed By: emfree

Differential Revision: https://review.inboxapp.com/D382