Abort 400 if unsupported query operators are used.

Introducing an official set of supported query operators (source:
http://docs.mongodb.org/manual/reference/operator/query/). If a query
contains an unsupported operator a 400 (with proper description) is
now returned.

A list of supported operators might require some mainteance/updates in
the future. One option is to add this list to the settings file
(something like MONGO_SUPPORTED_QUERY_OPERATORS).

Fixing #387 with a simple try..except block wansn't going to work
because pymongo find() won't fail if the query contains an unsupported
operator. Furthermore, the returned cursor is valid, and will only
raise an OperationFailure when iterated, which would cause a try..except
block to be inserted in the business layer (get method) and not in the
data layer. Yes, some dirty tricks could be used (like get
a cursor.count() before returning the cursor) but they would impact
performance for 100% use cases.

Overall I feel that having an explicit list of supported operators is
the best way to go. Explicit is better than implict and also, there's
no significative performaqnce hit.

Closes #387.