(maint) Add newlines to all files (whitespace only)

Without this patch there are a number of files that do not have
newlines.  This is a problem because it makes it difficult to use
`perl -pl -i -e ...`
(maint) Remove rspec from shebang lines

Without this patch Ruby 1.9 is still complaining loudly about trying to parse
the spec files.

I'd prefer to remove the shebang lines entirely, but doing so will cause
encoding errors in Ruby 1.9.  This patch strives for a happy middle ground of
convincing Ruby it is actually working with Ruby while not confusing it to
think it should exec() to rspec.

This patch is the result of the following command run against the source tree:

    find spec -type f -print0 | \
      xargs -0 perl -pl -i -e 's,^\#\!\s?/(.*)rspec,\#! /usr/bin/env ruby,'
(Maint) Remove loader test dependence on ENV

Previously the test for checking that FACTER_* environment variables get
turned into facts was sensitive to the actual environment variables with
which the test ran. This caused incorrect test failures if there was
such an environment variable during the test run. This changes the
loader to be able to be given the environment hash that it should look
at and changes the tests to stop relying on the environment for testing.

Conflicts:
	spec/unit/util/loader_spec.rb
(Maint) Remove unneeded mocking

There were mocks for something called 'settings', which were never used.
This removes them.
Document Facter API with YARD

This adds YARD documentation with `@api public` tags to the public API for
facter. This is a first pass, so it's probably missing some things that should
be considered public.

Conflicts:
	lib/facter/util/fact.rb
	lib/facter/util/resolution.rb
Use the API to test resolution weight
Remove .rspec from source

The only thing this file did was enable color.  This is a personal
preference, as is --fail-fast while using autotest.  It's a problem that
personal preferences can't be expressed without making the source dirty.
This patch fixes the problem my removing and ignoring the rspec file.

This patch also fixes a file not found exception in the watchr script
when the .rspec file does not exist.

Conflicts:
	.gitignore
(doc) Update COMMITTERS and CONTRIBUTING

Without this patch the documentation describing our workflow and process
is out of date for Facter.  This is a problem because community
contributors and people new to Puppet Labs have a more difficult time
learning how to submit contributions and merge contributions into the
codebase.

This patch addresses the problem by copying the COMMITTERS and
CONTRIBUTING documents from Puppet and customizing them specifically to
Facter.

[ci skip]
(maint) Update link to the contributor license agreement

New link: http://links.puppetlabs.com/cla as per Eric.

[ci skip]
Remove redundant attr_accessor :interpreter

To prevent warnings. Both reader and writer are defined at line 417.
(#22857) officially support ruby 2.0

To corespond with puppet >= 3.2 Ruby 2.0 support:
    http://docs.puppetlabs.com/puppet/3/reference/release_notes.html#ruby-20-support
(#22857) Note that ruby 2.0.0 should be at least p195.
Use the same kind of gem source switching as Puppet