Allow missing `new`.

This change allows instantiation of core-object classes without the `new` keyword. Generally, this is not a good idea, but there are cases where `new` is slightly more "annoying".

My specific use case is the common practice in the `Brocfile.js` of calling the constructor directly (ala `pickFiles`) instead of calling `new PickFiles`.  I would like to make it SUPER easy to make a new [broccoli-caching-writer](https://github.com/rwjblue/broccoli-caching-writer) subclass, while core-object makes it a SUPER simple change/addition it requires the end consumers to use `new` in their `Brocfiles.js` (which is a fairly big departure from most examples).