Fix newline in operatingsystemrelease fact

Without this patch applied there is a trailing newline in the value of
the `operatingsystemrelease` Facter fact on Debian systems.  The root
case of this problem is the change made in df71d88 which replease
useless use of cat with File.read methods.

This patch addresses the problem by stripping off all trailing
whitespace from the affected operatingsystemrelease resolvers.
(refactor) Send operatingsystemrelease through Facter::Util::FileRead.read

Without this patch there are number of different strategies employed
inside of the file defining the operatingsystemrelease resolutions.
This is a problem because File.read can be tricky to stub in isolation,
and the inconsistency in the file provides a bad example for
contributors.  Finally, we lose some automatic debugging and exception
handling when the file cannot be read due to existence or permission
problems.

This patch addresses the problem by changing all of the instances of
File.open and File.read to `Facter::Util::FileRead.read`, which is a
supported and public API.

In addition, this patch also removes all occurrences of the magical
global back reference variables.  The use of these are discouraged
because they are not thread safe, and they're slightly more difficult to
read.  The convention of if match = /pattern/.match('pattern string')
... replaces the magic global variables.
Merge branch 'fix/1.7.x/operatingsystemrelease_newline' into 1.7.x

* fix/1.7.x/operatingsystemrelease_newline:
  (refactor) Send operatingsystemrelease through Facter::Util::FileRead.read
  Fix newline in operatingsystemrelease fact
Merge branch '1.7.x'

* 1.7.x:
  (refactor) Send operatingsystemrelease through Facter::Util::FileRead.read
  Fix newline in operatingsystemrelease fact

Conflicts:
	lib/facter/operatingsystemrelease.rb
(maint) Update gem source in Gemfile

Without this patch installed the following warning message is displayed
on a Debian 6 system when running `bundle install --path vendor/bundle`.

    The source :rubygems is deprecated because HTTP requests are insecure.
    Please change your source to 'https://rubygems.org' if possible

This patch addresses the problem by changing the gem source to
https://rubygems.org which avoids the warning.
Merge branch 'update_gemfile' into 1.6.x

* update_gemfile:
  (maint) Update gem source in Gemfile
Merge branch '1.6.x' into 1.7.x

* 1.6.x:
  (maint) Update gem source in Gemfile
Merge branch '1.7.x'

* 1.7.x:
  (maint) Update gem source in Gemfile
(maint) Add Ruby 2.0.0 to Travis build matrix

Without this patch we're not testing against Ruby 2.0.0 which has
recently been released.  This is a problem because we'd like a way to be
notified if a change set breaks compatibility with future supported
versions of Ruby.

This patch should not be taken as an indication that we fully support
Ruby 2.0, just as an indication that we plan to in the future.
Merge branch 'maint/1.6.x/ruby_two_travis' into 1.6.x

* maint/1.6.x/ruby_two_travis:
  (maint) Add Ruby 2.0.0 to Travis build matrix
Merge branch '1.6.x' into 1.7.x

* 1.6.x:
  (maint) Add Ruby 2.0.0 to Travis build matrix
Merge branch '1.7.x'

* 1.7.x:
  (maint) Add Ruby 2.0.0 to Travis build matrix
(maint) Remove rc_mocks from build_defaults

Packaging internals have been updated to no longer require rc_mocks, so this
commit removes the rc_mocks from the build_defaults.
(maint) Add f18 mocks to build_defaults

Fedora 18 has been released to the world, so we should build packages for it.
This commit adds the fedora 18 mocks to the build_defaults so we can easily
supply fedora 18 packages.
Merge pull request #399 from haus/maint/1.6.x/add_f18_mocks

Maint/1.6.x/add f18 mocks
Merge branch '1.6.x' into 1.7.x
Merge branch '1.7.x'
(maint) Fix Solaris 10 spec failures

Without this patch applied we're seeing failures in the Solaris 10 spec
tests.  The root cause of this problem is a stub method that affects too
much of the system as a whole rather than the unit being tested.

This patch addresses the problem by narrowing the scope of the method
stub to limit the overall effect on the system.
Merge branch 'maint/1.7.x/fix_solaris_spec_issue' into 1.7.x

* maint/1.7.x/fix_solaris_spec_issue:
  (maint) Fix Solaris 10 spec failures
Merge branch '1.7.x'

* 1.7.x:
  (maint) Fix Solaris 10 spec failures