Refactor Cache#key to use url_formatted.
Sort JSON before deriving SHA.
Use Cache#parse_anchor.
Move resource-related methods into Billy::ResourceUtils.
Spec examples for JSON sorting.
Spec examples for json?.
Spec examples for parse_anchor.
Spec examples for url_formatted and removed parse_anchor.

It turns out URI has a fragment method, which is the same functionality parse_anchor was providing.
Remove pry require.
Rename url_formatted to url_formatter.
Improve variable naming within url_formatter.
Simplifiy url assignment in Cache#key.
Improve hash data variable names.
Rename sorted_hash to sort_hash.
Rename sorted_json to sort_json.
Removing unused block param from sort_hash.
Rename url_formatter to format_url.
Recursively sort nested arrays and hashes in json data structures.
rescue ArgumentError instead of blindly comparing all Enumerables by hash
Fix argument error.

After further testing and investigation, I found that the ArgumentError was
actually being raised by the sort method itself and not the <=> comparison,
when <=> returned an unexpected value for the comparison to sort (e.g. nil).