feature (future/past): add future/past validators

Both futureValidator and pastValidator depend on Moment.js. Therefore, both of them are optional and need to be registered manually by clients. Fixes #3.