Fix failed-task retrying.

Failed tasks were being recorded by converting their args
and kwargs to JSON. When the args contained a QueryDict, it
was serialized as a dict of lists. We now deconvert that when
we see it. We also now only work with dicts since we don't need
multivalue dicts.
Improve failed task admin.

* Add search by task name or exception
* Add date hierarchy drill-down
* Add filtering by task name
Merge pull request #97 from pmclanahan/fix-failed-task-retrying

Improve failed task handling and admin.

r = @Osmose