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