splitting the core

This is a heavy one. Perhaps the heaviest. Massive changes on mean.js + dislocation of aggregation into a separate module. Currently the module is local, and required by
require('./aggregation')
but frees the mean.js from all the internal variable bindings, and - splits the core!
Expecting a thorough discussion to see how this might fit into the overall mean.io roadmap.
@andrija-hers this pull request is based off of your master. in theory if you push to you master it will update the PR