massive changes to core
massive changes to core

EVENTS: all events passed thru octane.handle are stored by a hash map now, first level keys are element _guids, second level are event types with an array of handlers. Added 'drop' method, can pass an elem, an elem and a type, or an elem, a type, and a handler and drop will remove reference to it;
MODELS: OctaneModel is a prototype, octane.Model is a new OctaneModel, with .create() method for subclassing; changed set, get, unset, and clear to _set, _get, _unset, and _clear to that subclassed models could extend the methods (without underscores). Still present on Model prototype as aliases, but can be overwritten unlike the _* methods;

Hooks and Tasks are on the Octane object itself instead of controllers, Hooks are now applied at ._set() so there is no need for the goose method, it has been removed. Sad day.  Hooks no longer have Promises built in, will leave that to the developers to implement as needed;

VIEWMODEL: now its own object, removed from individual models. octane.rescope() now reparses the whole DOM, while .watch(element) will add a single element into the ViewModel's scope. TODO: a forget method

epferrari/octane,epferrari/octane