[Chef 11 compat] Vendor `chef/solr_query/*` classes

These classes have been removed as of Chef 11. We will vendor the files
from Chef 10.x and only add them to the load path if running in Chef
Solo 11+.
[Chef 11 compat] Install `treetop` gem using chef_gem resource.
[Chef 11 compat] search and data_bag methods now live in `Chef::DSL::DataQuery`

These methods were previously located in `Chef::Mixin::Language`.

Additionally re-organize library code by creating a "search" subfolder
for override module and parser.
Don't rely on the JSON libraries magic `json_class` field.

Let's instantiate actual instances of `Chef::Node` and `Chef::Role`
objects using the `json_create` method that all Chef object classes
share.
Merge pull request #18 from schisamo/chef-11-compat

Full Chef 11 compatibility update.
Use Chef::JSONCompat to parse node json files

This allows you to search node files that don't a json_class key.
Add Travis CI config
metadata.rb name setting
Merge pull request #21 from stankevich/metadata_name_fix

metadata.rb name setting
Merge pull request #19 from tjwallace/node_without_json_class

Use Chef::JSONCompat to parse node json files
Ensure chef gem is installed before running tests
Merge pull request #20 from tjwallace/enable_travis

Add Travis CI config
CHANGELOG: fixed typo
0.4.0 'summer in the city' Release
Explicitly check each node's class
Require rubygems for ruby 1.8
Add build status to the README
Merge pull request #23 from tjwallace/fix_build

Fix travis build
Build with different major chef versions.
Add rake task and remove explicit travis test runner.

Previous test runner was missing a test file.