0.4.0 release, ported to new CommonJS way

As @cjbell originally wrote:

This PR adds the following functionality to Sir Trevor; almost certainly breaking some backwards functionality between this and `0.3.x`.

* Adds a mediator for each Editor instance 
* Moves all block handling code from the Editor into the `BlockManager`
* Renames many of the methods on the `BlockStore` (as per #155)
* Adds a dedicated `ErrorHandler` 
* Standardize naming conventions of files 
* Clean up the `EditorStore`

cc @cobbweb @ninjabiscuit @ilyaporopudas @andrewsprinz 

Back to me (@dwb). Note that I've rewritten the commits but used the original authorship and message (maybe rewritten slightly to fit in the recommended 72 character limit). Please look over everything and make sure it all makes sense. The tests pass, and the main example seems to work fine. Note I haven't touched the Bower stuff apart from update the version number... does that need fixing?
It probably doesn't like you instantiating a new object without assigning it to a variable - fine to ignore this