Optimised for searching a hash first.
Moved the require for MultJSON to lib/jmespath.rb
Split unit and compliance tests into two tasks.

You can run `rake test:unit`, or `rake test:compliance`.
Running `rake` or `rake test` will run both suites.
Now running perf tests.

Not actually timing anything, but the perf tests now all pass.
Running `rake benchmark` now performs the performance tests.

Changes include:

* Moved the perf tests from spec into their own module.
* Added an optional dependency on `absolute_time` gem
Added an expression parser cache.

Running benchmarks disables this cache by default:

    # caching disabled
    $ rake benchmarks

You can re-enable the cache in the benchmarks using ENV['CACHE']:

    # caching enabled
    $ CACHE=1 rake benchmarks

Caching is enabled by default outside of benchmarks.
Removed some debugging lines that had been commented out.