Pass Q object to filter queryset instead of dict

Use a Q object to build a query to filter our querysets.  This is
needed because we might be doing multiple queries based on the
``election_id`` field via a ``election_id__contains`` keyword argument
to ``QuerySet()``.  If we just build a keyword argument dictionary
with ``dict.update()``, then these query arguments will clobber
each other.

Also don't use ``get()`` to get specific filter arguments as it
returns ``None`` if the key doesn't exist.  We don't want
nonexistant filter keyword arguments to get passed to the query.

Addresses #39