Skip confirmation of empty blocks

* Add a new isEmpty method to blocks that runs a `save` call on the block and checks its current state
* Always save other block data (like captions etc) to preserve input, even when the text block is empty
* Make the list block a required block once it's been created
* Override the list blocks `toEmpty` method as it always serializes itself when it's saved

Fixes issue #67 

cc @ninjabiscuit @andrewsprinz