Hash fixes: low-hanging fruit.

  * Hash#delete accepts a block for default value
  * Hash#default= and Hash#default_proc= unset their counterpart.
  * Hash#merge/Hash#update try to coerce with :to_hash
  * Hash#== Checks for value existence in rhs before comparing
  * Hash[] throws proper errors for more malformed argument list "geometries".

Also closes #522 (value existence on rhs)
Merge pull request #524 from mieko/hash_default

Hash fixes: low-hanging fruit.