Initial draft of validation
Add start_at and end_at datetime validation
Add filter_by validation
Extract assertion functions
Add sort_by validation
Add positive integer validation
Simplify implementations
Add group_by validation
Add tests for sort_by with period and group_by
Add collect validation
Cleanup
Add duration validation
Add period validation
Fix typo
Add collect tests
Add midnight and timespan validation

Refactor Validate method to return the valid values too.
Add Monday validation
Add first of month validation
Merge pull request #3 from jabley/feature/validation

Sketch out validation