Initial commit
Added the preliminary web and ioc components
modified the ioc, added component lifetime, added a resolution facade around the registered components to handle providing the proper instance based on lifetime, modified construct to accept fn constructors or object literals.  modified the web component to use a fluent interface for configuration.
- added the crypto component to the crane module
- modified the ioc to add support for children(); it registers an objects children each by name as a component
- added default, generic, common middleware
- added the base mvc component
- added ns() support to the ioc container, allowing objects to be retrieved by their namespace
- the mvc component currently routes all methods in the parsed controllers via express, allowing a configurable default controller for routing root requests
Modified crane to use __init vs initialize to initialize components

modified the ioc to introduce resolve() for obtaining instances of objects.  replaced the default ioc getter with a call to resolve()

modified the mvc component to add a controller factory, which will dereference dependencies, allowing dependency injection from the ioc container.  modified how controllers are registered/parsed; switching from iterating the ioc's ns(), to using object registration inside the individual js files
Added support for the object lifetime; this is an as-is, dont instantiate type of object that would facilitate things like middleware, etc.  The default lifetime for registered components is now object.

Added event handling; now firing events when an object cannot be resolved.

Modified resolve() to also resolve dependencies, in a recursive manner.  currently, it will be injected into the components scope, requiring a this.DependencyName format
Modified the mvc component to queue initialize()ing controllers, until the mvc component has been initialized with an app.

When a controller is initialize()ed, it will then resolve itself via the ioc container, if container() has been called.  this will resolve the controllers dependencies, and make them available.
Modified how controllers are parsed, extending the promise object with the response() method, offering a shorthand for common http response patterns within a controller.
Added the util object, with the ObjectId() helper, which returns a mongoose ObjectId from a string representation.
Modified the way the content-type header is written, allowing controller methods to overwride
Modified the web components interface to use a property for the .app object, with a custom getter, vs a method.  modified exports.app() to exports.app accordingly.
Removed the dump() method from the ioc, which was used for debugging purposes only
Modified to normalize keys when registering/resolving; toLowerCase() is always called.

Added the Repository object; this object extends a Mongoose model by compiling a new, duplicate Model, then extending it with our model-specific repository behavior.

Modified the route registreation for controllers to only register get/post routes, vs all, for each controller method that it parses
Modified the ioc component to support dependency aliases for objects; this allows a dependency to be declared in an alias:dependency.name manner, where this.alias is registered with the object, pointing to dependency.name

Modified the authentication middleware to separate out functionality, and organize the supported authentication methods in their own sub object.  Modified the cookie authentication middleware to support additional options.  Added an error object which performs standard unauthenticated/unauthorized responses
Refactored how the mvc and web components were instantiated to prevent global scope leaks.

Modified the authentication middleware to expose a .cookie object with cookie utils, .set, .get, and .remove