Recurse through list elements in Mongo Queries

Summary:
-I discoverd that $or queries did not work with our mongoengine. After a
lot of investigating, I discovered the issue. When we are transforming
queries, we recurse only on dict fields. However, $or queries use a list
in which the elements themselves are document queries. We were not
recursing through these, and so the fields in these queries were not
getting transformed.
-SOLUTION: When transforming a query, if we have a value which is a list
and the context is NOT a ListField, then loop through all the elements
in that list. If any of these are dictionaries, recursve transform_value
on these elements. After each element in the list has been transformed,
proceed as usual

Test Plan:
-Did some complex queries with $or, including $or within $or. Verified
that the result set that was returned matched what was expected.
-Used a bunch of features in Merchant Dashboard (browsed all over the
place, created data) to ensure that nothing was broken.
-Made sure to also execute some queries that contained lists that were
NOT a part of
an $or operator. Ensured that these queries functioned as before.
-Ran some queries that contained $and, verified results.
-Ran unit tests
-Created unit tests for new changes

Reviewers: adam, kevin, josh, bill, wan, tarek, danny

Reviewed By: adam

Differential Revision: http://phab.wish.com/D20278