Add maintenance to the CLI (closes #562, #563)

As part of this, I've also:

- Updated create_*scheduled_maintenance to allow for an input string to be parsed by Chronic.  This has no effect on existing code.
- Fixed end_unscheduled_maintenance to return a boolean when the unscheduled maintenance is ended (Also done in #596)
- Moved the times in the tests to global variables
- Had rubocop fix indenting/spacing on tests
Might be better not to transform parameters, and do `inp = input.downcase`. The less side-effects methods have on external data the better, I tend to find.