(#7622) Deprecate and remove features.pson?

PSON is always available and so the pson feature was only used for the
side-effect of requiring the pson files. This commit deprecates the pson
feature and moves the requires to the puppet.rb file so that PSON is
available early on.
(Maint) Remove unimplemented tests
(Maint) Remove unimplemented tests
(Maint) Remove unimplemented tests
(Maint) Remove pending tests

These tests have been pending since they were written in 2009
(Maint) Remove unimplemented tests
(Maint) Remove unimplemented tests

These tests were waiting for redhat to change something about their
service systems, but there was no work in progress to make these
changes. At the time the work is done, these tests can come back.
(Maint) Remove unimplemented tests
(Maint) Remove pending test

This test is documented in bug #6634 and can be added back in when work
is done to fix the issue.
Merge branch 'maint/master/remove-pending-tests'

* maint/master/remove-pending-tests:
  (Maint) Remove pending test
  (Maint) Remove unimplemented tests
  (Maint) Remove unimplemented tests
  (Maint) Remove unimplemented tests
  (Maint) Remove pending tests
  (Maint) Remove unimplemented tests
  (Maint) Remove unimplemented tests
  (Maint) Remove unimplemented tests
Maint: Refactor code for loading ssl files

Prior to this commit, the code for creating a model and loading it from
a file was duplicated in two places. Also, the
`renaming_files_with_uppercase` method was being called after the
existence checks, complicating the logic.

This commit moves the duplicate code to a single method. It also moves
the `renaming...` method earlier, so that we get into a sane state as
soon as possible.

Finally, it adds a deprecation warning for some crazy behavior in the
`rename_files_in_uppercase`. The `search` method may return an uppercase
name, since it just walks the directory. But if `find` is called on the
uppercase name, then the file gets lowercases, so that subsequent calls
to `search` return the lowercased name. See #17307.
Maint: Cleanup order dependent test failure

Previously, this would fail:

    rspec --order random:786 spec/unit/indirector/ssl_file_spec.rb

because several of the examples set global state on the
Puppet::Indirector::SslFile class.

This commit adds an after each block to clean up.
Maint: Fix poorly mocked test

Previously, the test was calling into the settings subsystem, which had
the undesirable effect of loading facter, and that generated errors
(though they weren't fatal) due to the expectation on FileTest
interferring with Facter's operatingsystem fact on debian6, at least.

  Could not retrieve operatingsystem: unexpected invocation:
  FileTest.exists?('/etc/debian_version')

This commit changes the test so that we don't calling into the settings
code.
Merge pull request #1252 from joshcooper/maint/master/refactor-ssl-file

Maint/master/refactor ssl file
Maint: Fix typo

Previously, we were passing in a string instead of an array, and in ruby
1.8, you can call select on a string, but not in ruby 1.9.
Merge branch 'ticket/master/7622-remove-confine-true-with-feature'

* ticket/master/7622-remove-confine-true-with-feature:
  (#7622) Deprecate and remove features.pson?