Profile page displays completed tasks, most recent first

Add pagination to completed tasks

Add link in header to profile page.

Generalize pagination with custom Jinja2 macro

Fix how URL with query string is formed.

dict() applied to QueryDict produces a dictionary whose values are
string representations of lists, like "[u'44']". This is because
QueryDict associates each key with a list of values even if there is
only one value. QueryDict's dict() method translates each list of
values into a string repr of *one* value from the original list. This
means data is thrown away for any keys with multiple values in the
QueryDict. This is a problem for certain form controls.

Reuse dashboard in both front page and profile

Fix datatype of GET attribute