Multiple changes to support Ruby 1.8.7

* Fix installation in Ruby 1.8.x

* Replace new-style hash syntax with classic hashrocket style syntax since
  the new-style (e.g. key: value) syntax is not recognized in Ruby 1.8. Let’s
  stick to the hashrocket style (e.g. :key => value) style instead.

* Backport Ruby 1.9 Module methods

* Remove dependency from HashWithIndifferentAccess and use our own
  Hash-like implementation called Hashish

* Remove "\ " character sequences from JSON string when running in 1.8
  since the JSON gem in that env doesn't support it

* Add line continuations since this is not automatic in 1.8

* Remove 1.9-specific regex patterns

* Convert cassette bodies into JSON objects before comparing with the request
  body since a serialized Hash in 1.8 looks different from that of 1.9 because
  of their internal implementation. Specifically, Ruby 1.9 Hashes preserve
  insertion order whereas 1.8 Hashes does not.

Change-Id: I3acf8bb915418ba2416935291f821e99de6fc324