cursor: create synthetic failure upon top-level query and $dollar keys

It is possible to submit a query to mongo-c-driver that looks like:

  {a:1, $orderby: {foo:1}}

This is invalid since it mixes the top-level query and the orderby. It
should instead be:

  {$query: {a:1}, {$orderby:{foo:1}}}

This fixes CDRIVER-379.