Split --start and --delta logic

Due to converting --start and --delta to a filter and thus using
eval(), it is not possible to pass an object to eval.
Because of that the validation (ensuring that the data is valid)
and converting them to a datetime or timedelta object needs to
be splitted into two different steps.

Move the regular expressions to __init__.py to be able to share
them.

Keep the validation of the input data on main.py but move the
conversion to a datetime or timedelta to filters.py.
Add new filter: time_frame

Reuse the --start and --delta command line arguments to create this
new filter.

Works exactly as before but moves the time constraint where it
belongs: on a filter.