Add (failing) specs for new coerce features
Coercion improvements, specs passing

In `Hashie::Mash`, implement `#[]` and `#[]=` as `#custom_reader` and
`#custom_writer`, respectively, so they can be called explicitly
(aliases provided for backward compatibility). The `#deep_update` method
now uses the custom reader/writer methods, instead of the regular
reader/writer methods (which bypass coercion).

In `Coercion`, override `#custom_writer` to use the coercing setter
method. Additionally, force `.to_sym` on keys passed to `#key_coercion`,
to allow the string keys used by `Hashie::Mash` to work.

These together allow coercion to work with `Hashie::Mash` instances,
not only with direct `mash[:key]` symbolic indexing, but with `mash.key`
attribute style, `mash['key']` string indexing, and `Mash.new(:key =>
...)` instance initialization.

All spec tests are passing now.
Merge pull request #96 from wapcaplet/coerce-improvements

Coerce improvements