[#582] Make .save work identically to ActiveRecord

* Calling .save on a content block will by default publish it now (it used to save a draft copy)
* Refactor tests to ensure create/create! work identically to ActiveRecord
* Add some custom matchers.

[#256] .publish now has consistent behavior.
* Changed the behavior of block.publish
* It will no longer save new records, but will return false and generate a deprecation warning.
* It will now only ever publish the latest draft, returning true if there was something to publish.
* Add additional coverage for publish/publish! on new blocks.