Various README typo fixes
Update specs to pass with new fauxhai
Use semver for Ruby 2.1 Travis matrix
Don't test old Chefs on Ruby 2.1
Fix memory leak in LWRP Resource classes

Chef::Resource retains a reference to all subclasses in
Chef::Resource.resource_classes. When an LWRP is reloaded, Chef's
implementation will remove the reference to the old class from that
array.

Unfortunately, ChefSpec is wrapping the build_from_file methods to
suppress a warning about LWRP classes being redefined. By removing the
constants for those classes, it is causing Chef's cleanup code to not be
executed.

Since I assume the wrapping logic is there to support older versions of
Chef (removing the wrapping logic on Chef::Resource does not show a
warning with Chef 11.12.2), I opted to perform the same cleanup that
Chef does in its own implementation.

Retaining the reference to old LWRP classes can cause lots of state from
previous ChefSpec::Runner instances to remain in memory, bloating the
test suite process size and slowing down garbage collection.
Update CONTRIBUTING.md
Restore original librarian-chef cookbook path

setup! changes the librarian-chef install path (env.config_db.local['path']) to a temp directory for the duration of the test run.  teardown! removes the temp directory but does not reset the librarian-chef cookbook path.  One result is that, after running chefspec, "librarian-chef install" will install to the previously-used temp directory and the original cookbook location ("cookbooks" by default) becomes out of date and useless.  This overwrites even a manual setting in ./librarian/chef/config.

This solution simply remembers the original librarian-chef install path and restores it on teardown.
Merge pull request #433 from flatrocks/restore_librarian_cookbook_path

Restore original librarian-chef cookbook path
Add the ability to set node object for ChefSpec::Runner