Map reduce scope

Passing a function in the mapReduce `scope` option doesn't work. Instead, we force users to understand the implementation by requiring functions first be converted to instances of `Code`. See https://groups.google.com/d/topic/mongoose-orm/sdhqXIS_8g0/discussion

This pull request removes the barrier, auto-converting functions to instances of `Code`.