Replaced _compileSelector logic with non-eval'd code.

Implement $elemMatch.

(Commits squashed together by glasser, and some now-dead code removed.)
Some modifications to Ed-von-Schleck's selector compiler patch:

- Improve regex match against array.
- Improve matching of explicit deep nulls.
- Instead of doing a high-level "catch TypeError", do more explicit
  type checks.
- Clone the selector (since we're going to save a reference in our
  closure).
Rewrite selector compiler against with a "compile to specific function"
approach.
Rewrite sort compiler to avoid eval, too!
Merge branch 'selector-compiler-rewrite' into devel

This is a complete rewrite of the Minimongo selector and sort compiler to no
longer use eval, started by @Ed-von-Schleck and finished by @glasser. It makes
the code more readable and no longer requires all queryable types to be
serializable in an eval-able way; the latter will be useful once the in-process
EJSON work on the ddp-pre1 branch is ready.

(It also makes selector compilation faster, though selector evaluation appears
to be very slightly slower.)