Respect `--start` and `--end` parameters

So that we can backfill the collector if required, and generally have more
flexible command line usage.

See https://www.pivotaltracker.com/story/show/68090608

- if no `--end` is specified, assume a 24 hour period into the future.
- if no `--start` is specified, assume a 24 hour period into the past
- if neither `--start` nor `--end` are specified, assume a 24 hour period
  starting now
- if `--start` and `--end` are specified, use those explicitly.

Changes:

- Refactor: move main code into `main()` function.
- Split main function into multiple functions
- `parse_time_range` allows the user to specify either start time, end time
- Fix some warnings.
- Remove obsolete stats_for_24_hours method