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