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
Do we need to support start times for acknowledgements specified in pseudo english? The intention with unscheduled maintenance is they are only ever created from now, as they represent an acknowledgement of an operator at the time of the acknowledgement. You don't want to have them done in retrospect (although ack's come in as events and there could be a delay in processing, hence we allow the start time to be created from the timestamp on the event) and you don't want them to be future active only as that is what scheduled maintenance is for.