(maint) Update .gitignore to ignore .yardoc files

When YARD produces documentation, it also adds a .yardoc file.
Update the .gitignore for this project to ignore these files.
(maint) Update Gemfile to require redcarpet gem

Update the project Gemfile to include the redcarpet gem. This
particular gem is needed for Markdown processing.
(PDOC-2) Add tests around face and HTML generation

Add tests to ensure that the face (puppet yardoc) works from end to
end. In other words, ensure that when given a module, puppet yardoc can
successfully evaluate the .pp and .rb files present in the module and
produce the expected HTML.
(PDOC-2) Refactor tests for 4x function handler

Update the spec tests which cover the Puppet 4x function handler
to be more specific and cover different test cases. Prior to this commit,
they would simply check that the right objects had been added to the
Registry for one example. Now, they examine multiple examples and ensure that
the code objects not only exist but that the details about them are what we
would expect for each specific scenario.
(PDOC-2) Refactor tests for defined type handler

Like the 4x function handler tests, the tests around the defined
type handler were not very specific and didn't use multiple examples.
Update the tests so that they do more than just ensure that the right
objects were added to the Registry and cover a few different cases
instead of just one.
(PDOC-2) Refactor tests for 3x function handler

Rework the tests around the 3x function handler. Make them more
verbose by having them them test against multiple examples and by making
the checking of the Registry more details.
(PDOC-2) Refactor tests for host class handler

Update the tests around the host class handler so that they test
several different examples as opposed to just one. Additionally,
refactor the tests so that they are more detailed when it comes to
checking if the Registry is in the correct state after code has been
parsed.
(PDOC-2) Split up handler specs

In order to make the code more readable, separate the tests into
different files for each handler. Additionally, extract the helper
methods into a separate module which may be included as needed.
(PDOC-3) Rename face to strings instead of yardoc

Since we don't want the name of the tool to reflect the fact that
it is using yard internally (this is an implementation detail), rename
the face to `strings`. Now when one wishes to generate documentation,
`puppet strings` will be used rather than `puppet yardoc`.
Merge pull request #3 from hkenney/PDOC-2_add_high_level_tests_for_face

(PDOC-2) Improve test coverage for puppet strings
(PDOC-3) Add puppetlabs directory

In order to keep with conventions around directory structure, add
a puppetlabs directory and rename modules accordingly.
(PDOC-3) Rename FutureParser and ParserFunctions

Prior to this commit, the handlers and code objects which dealt with
puppet functions were referred to as `FutureParserFunctions` and
`ParseFunctions`. This naming convention will not make very much
sense going forward when the future parser becomes the primary
parser. Therefor, rename `FutureParserFunctions` to `Puppet4xFunctions`
and `ParserFunctions` to `Puppet3xFunctions`.
Merge pull request #4 from hkenney/PDOC-3_refactor-prototype-code

(PDOC-3) Rename face to strings instead of yardoc