Monkey patches optional

By requiring "ruby_units/core", the Unit class is exposed, in a namespace, with no global functions or changes to core ruby classes.

For those using the public API, this is a backwards compatable change (that is, a minor rather than a major version bump).

Pretty much every file got touched.  The reorganization allows the specs for the core classes to be run separately from the core extensions, without the core extensions loaded (this is done by giving rspec the path to rspec/ruby-units/core)

Most of the library moved into one of these two directories:

* lib/ruby_units/core - Unit and its requirements
* lib/ruby_units/core_ext - Extensions to core Ruby classes 

The specs are organized in a parallel manner:

* specs/ruby-units/core
* specs/ruby-units/core_ext

This pull-requests builds upon https://github.com/olbrich/ruby-units/pull/109