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 `--start` until now.
- if no `--start` is specified, assume a some time in 2005 until `--end`
- if neither `--start` nor `--end` are specified, assume the previous 24 hour period
  starting,
- 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