Simple tests for sub-set projections.
Support subsets fields filtering.

Rewrote the returned closure. Still don't support '$' and '$slice' operators.
Improve documentation on fields.

- You can mix incl/excl as long as it is `_id`
- Note unsupported `$` and `$slice` operators of minimongo
- Give an advanced example with reference to mongodb docs.
Whitespace
Add nested-nested test.

Taken from Glasser's old code-review.
Fields with subsets passes the test.
Same test but for blacklisting
Fix docs. $slice is not related to fields projection.
Put a.b.c and a.b validation into general case.
Another test
Check the equality with _.isEqual

EJSON.stringify doesn't guarantee the order of keys.
Always sort keys to simplify some cases.

And don't modify the argument.
Comments on keys sorting.

Suggested by Glasser.
Merge branch 'minimongo-fields' into devel

Now supporting fields filtering in subarrays.

Example:

  C.insert({ foo: [ { bar: 1, qux: -1 }, [ { bar: 2, qux: -2 } ] ] });

  C.findOne({}, { 'foo.bar': 1, _id: 0 });

  < { foo: [ { bar: 1 }, [ { bar: 2 } ] ] }