Handle client side association collection removals

Association collections with items removed will now also be removed on the server side on save.

Fixes #15

* Supports any method that modifies an association array through `method_missing`
* Using `ActiveRecord::Associations::CollectionProxy#delete` for item removal.
* trying to remove items from has_many through and habtm associations do not work, and we log an informative error.
* Supports Rails 4.0 as well as 4.1 (Rails 4.1 converted habtm associations to work as has_many through)

I wonder if `assocation_type_name` could be combined with lines 105-106 so that it returns:
'has_many', 'has_many :through', 'has_and_belongs_to_many', (or nil, if not any of them?) 
Then you could do the test and the error message using the same result so that:

````
type = has_many_type(association)
return false unless ['has_many :through', 'has_and_belongs_to_many'].include?(type)
logger.error("blah blah #{type}")
````