Refactor gem logic into BundlerWrapper

gem_is_bundled?("thin") => bundler.has_gem?("thin")

This reduces the surface area of the LanguagePack and keeps the internals of the `bundler` object lock file less exposed.
Fixed a typo

Should be rails 4
Refactor has_windows_gemfile_lock? to bundler

Hide the internals of the Gemfile lock parser from LanguagePack
Faster `gem_version`

Implement `bundler.gem_version` to be constant time lookup using a hash instead of scanning with a detect.

Checking for Gemfile.lock is redundant since we have a `NoLockfile` language pack that detects this before any other packs can be run.

Reduce the Language Pack footprint so it knows less about the internals of the lockfile parser
Update to use new class
Remove un-needed Gemfile.lock check
add bundler specs for windows Gemfile detect
Merge pull request #181 from heroku/schneems/bundle-wrapper-refactor

Schneems/bundle wrapper refactor
Merge pull request #207 from jvanbaarsen/patch-1

Fixed a typo
[close #205] Check for Rakefile before rake runs

If no Rakefile (or variant) is present we should not attempt to detect rake tasks.
Merge pull request #208 from heroku/schneems/rakefile-detect

[close #205] Check for Rakefile before rake runs
update v92 changelog
update changelog dates
bump to v92
fix rake buildpack:tag when used separately
consolidate run commands
allow ability to read in env
make sure all rake tasks go through `RakeRunner`
use options hashes for RakeRunner
always use rake when running rake task