Run commands passed as arguments

- use eval to run them
- create a main method to ease testing
Add two commands: counter and counter_invalid

With tests, of course.

There's a total_lines attribute too.
Take into account the time range

Make sure (with tests!) that if a start and delta time range is
specified, no log lines will be processed by commands that are
outside of this time range.
Sort log lines

This allows for faster processing on commands that use the time
on the log line for its logic.
Update CHANGES.rst