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 } ] ] }
Improve error messages if unipackage load fails.

This mostly affects Meteor core development (since for now, unipackage.load is
only used inside the meteor tools itself and only to load core packages, which
should be properly compiled in any Meteor release).