Updated API for attributes
Have defaults overwrite anything that is defined on the current instance.
Just dipose of events. Make sure we call the superclass method before doing anything else
Extend the attributes property when the class is extended. Add in a set method.
Replace the underscore#keys method with one that returns all enumerable keys across an object's prototype chain.