extract ruby version logic into RubyVersion
[close #36] Unit test RubyVersion class

This commit adds unit tests to the RubyVersion class. A refactoring was done to improve testability (additional constants needed). Exposing any error coming from bundler #36 is now accomplished and tested.

Default version for new and old apps are tested. Explicit version with bundler for MRI and JRuby are tested. Specifying an invalid version via gemfile is not tested.

Use bundler internals to detect Ruby Version

Don't do work in release
Don't require language_pack in release
Defer testing JRuby warning to #168