allow use of different time columns (fixes #63)

Many reports are based on aggregating by date or hour.
Currently these columns are calculated on the fly,
but grouping on them is very slow.  By allowing
for alternate time columns we can index the table
more efficiently for common reports and gain a huge
improvement in speed.

Also fixed one bug in graph zoom related to filtering