Adding VCROrderedMutableDictionary, sorting -[VCRCassette JSON].

As mentioned in issue #1, this PR is for ordering the dictionary returned by `-[VCRCassette JSON]` to ensure that all the written dictionary keys in the cassettes maintain order.

This approach adds all the data to an un-ordered instance of VCROrderedMutableDictionary during JSON generation, but before it returns, it iterates through the sorted keys in the dictionary and returns a sorted version of the un-ordered instance as well.

I've also added a passing test for the key ordering, and a couple of `-description` implementations to assist in debugging (they helped me when figuring out how part of the library worked). If you want a PR without 8d817c12c22245bb8426115e8b1c9fe899092e31 instead, let me know — that can totally be arranged.