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
is that `end time less than (now + 2 hours)` ie 'ends within the next two hours` ?