Merge pull request #3 from hkenney/PDOC-2_add_high_level_tests_for_face

(PDOC-2) Improve test coverage for puppet strings
Merge pull request #4 from hkenney/PDOC-3_refactor-prototype-code

(PDOC-3) Rename face to strings instead of yardoc
Add -q option to suppress warnings for server
(PDOC-6) Allow for different puppet gem versions

In order to make the Gemfile compatible with the puppet strings
Jenkins job (which tests against multiple versions of puppet), update
the Gemfile to allow for for the Jenkins job to specify which version
of puppet it is testing against.
Merge pull request #9 from hkenney/issue/master/pdoc-6-update-gemfile-for-jenkins-jobs

(PDOC-6) Allow for different puppet gem versions
(PDOC-7) Add .travis file for Travis CI support

Since we want Travis CI to run spec tests for pull requests opened
for puppet strings, add a .travis.yml file so that Travis CI can
run spec tests.
Merge pull request #10 from hkenney/issue/master/pdoc-7-setup-travis-ci-for-project

(PDOC-7) Add .travis file for Travis CI support
Merge pull request #6 from petems/supress_yard_warnings

Add -q option to suppress warnings for server
(PDOC-3) Use constants instead of strings in tests

Prior to this commit, several rspec tests were using `decribe "string"'
instead of `describe constant`. Update the tests to use the constant instead.
Additionally, rename the puppet function tests to reflect the renaming of the
handlers.
(PDOC-3) Refactor face and remove modules action

Refactor the code in the strings face and extract much of the functionality
into a separate library in order to make the code more readable and
sustainable. Additionally, remove the `modules` action from the face
since it does not have a clear use case currently. However since the `server`
action depends on it, and it may be helpful to add other features in the future,
extract the functionality previously contained in `modules` into a helper
method.
(PDOC-3) Add method headers for new libraries

Add some comments for the new methods that have been introduced
to ensure that the code is readable and well documented.
(PDOC-3) Change actions from module to class

Refactor the actions module so that it is a class. This is important
because it allows us to keep `Puppet[]` calls out of the library and
have them in the face itself. Additionally, move a few things around
(like `check_required_features` since it makes require statements
cleaner) and clean up some comments.
(PDOC-3) Use require instead of require_relative

Prior to this commit, the puppet strings project was using require_relative
to include other classes and modules. Due to some ambiguity and the fact
that the strings project shares some naming conventions with YARD, the
use of require_relative sometimes made it unclear what was being
included and where it was coming from. Now require is being used and although
this requires the full path, it makes it very clear where things are coming
from.
(PDOC-3) Switch to one line class declarations

Prior to this commit, many of the classes in this project were declared
in two lines. The first line would put them in the context of the module
they belonged to, and the second line would declare the class and deal with
inheritance. In order to make the code more readable and to allow
require statements to be moved to the top level, turn all class declarations
into one line statements.
(PDOC-3) Move requires to top level scope

Prior to this commit, the requires for the puppetx portion of this
project were dealt with in each individual file. In order to make
the code more readable and the requires more clear, move them all
into the strings file.