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
perhaps structure like:
```ruby
def foo
  # ...
  keys.map do |k|
    # ...
  end
end
```