Rewrite to javascript. Does not seem like a good idea, as it does reduce the simplicity of the code.
Finished the javascript port
Fix and improvements relating to the port

- Fixed some issues with the port of the swap plugin
- Turns out that you can do a direct bind in the javascript version and it works fine
	- Unlike the coffeescript version that requires a late bind for some reason
Added some of @jedwatson's feedback, not sure if I agree
Implemented @JedWatson's suggestions in a cleaner manner than before
Lintify. Added freeze. Removed plugins.

- Removed `.extend` as it could be confused with plugin extensions, now
you must use `.subclass`
- Added `.freeze()` to freeze the class from receiving extensions,
useful for base classes
- Removed plugins for the purpose of having them in their own repos
- Updated the require code to no longer include local plugins
- Removed jshint config in favour of a global one
Cleanup. Extension inheritance. Better freeze.

- Constructor now only accepts a name property
- Extensions are now inherited
- Class is now inherited
- Freeze now uses native freezing abilities, as our way was being
inherited, as this way is way better
- Throw an error if an extension is added with an unknown type
- Added test for successful subclass inheritance
- Added test for sub chain creation
- Removed deps that were for bundled plugins