def parse!(source, opts = {})
    opts = {
      :max_nesting  => false,
      :allow_nan    => true
    }.update(opts)
    Parser.new(source, opts).parse
  end
Parse the JSON document _source_ into a Ruby data structure and return it.
The bang version of the parse method defaults to the more dangerous values
for the _opts_ hash, so be sure only to parse trusted _source_ documents.

_opts_ can have the following keys:
* *max_nesting*: The maximum depth of nesting allowed in the parsed data
structures. Enable depth checking with :max_nesting => anInteger. The parse!
methods defaults to not doing max depth checking: This can be dangerous
if someone wants to fill up your stack.
* *allow_nan*: If set to true, allow NaN, Infinity, and -Infinity in
defiance of RFC 4627 to be parsed by the Parser. This option defaults
to true.
* *create_additions*: If set to false, the Parser doesn't create
additions even if a matching class and create_id was found. This option
defaults to true.