(doc) Clarify a couple of comments under lib/puppet/

- 'should not be used in preference to' as 'should be avoided in favor of'
- '25K to 300 symbols to strings' as '25K symbols vs. 300 strings'
(maint) Various fixes (whitespace, etc)
(maint) Spelling fixes for code comments

'acutal' to 'actual'
'allowal' to 'allowable'
'cahe' to 'cache'
'corrosponding' to 'corresponding'
'dafault' to 'default'
'defauls' to 'defaults'
'defualts' to 'defaults'
'follwing' to 'following'
'manageing' to 'managing'
'managhome' to 'managehome'
'matchin' to 'matching'
'pupet' to 'puppet'
'repositry' to 'repository'
'terminii' to 'termini' (per Oxford, 'termini' or 'terminuses')
'ths' to 'this'
(maint) Typo fixes for code comments
Merge pull request #1801 from floatingatoll/patch-3

various documentation fixes
(maint) Remove rspec requires from the Rakefile

In the Rakefile, we no longer use Rspec methods or classes, but instead shell
out to rspec, so requiring rspec serves no purpose in the rakefile. The require
was also incorrectly placed within an unrelated begin/rescue block, which
caused deprecated rake libraries to be loaded when rspec was not present. This
commit removes it from the Rakefile.
Merge pull request #1814 from haus/maint/stable/move_rspec_requires

Remove rspec requires from Rakefile
(#21970) Comment fixup

The REST certificate endpoint supports only find, not save.
(#21970) Move supported formats into the per-endpoint md
(#21970) Add markdown doc for certificate endpoint

Add markdown doc and add link from index markdown page.
(#16856) Add type model, factory, and calculator.

This is the initial check in of a type model, a factory and
a type calculator that can answer question about types (assignable?,
commonality), and infer type given an instance.

The type model is required by the bindings model.
(#16856) Add bindings model and bindings factory.

This is w.i.p and only somewhat tested code.
(#16856) Adds unit tests to Puppet::Pops::Types
(#16856) Add w.i.p on binder
(#16856) Make type calculator infer PType for types and PType

The infer method did not handle inference of a type (it resulted
in a Ruby type with reference to the type class).

This commit updates the type calculator with an infer of PObjectType.
This means that all types, including the meta-type PType is typed
as PType. Tests added.

(This is all esoteric, but needs to be done correctly).
(#16856) Add infer_Class to remove requirement to pass an instance.

Without this it is more difficult to create a type for a class.
(#16856) Add skeleton of BindingsChecker.

This adds w.i.p on a BindingsChecker - a validator of a bindings
model. It contains:
- Issue module
- Checker/Validator
- TypeFactory method to create a PCollectionType (used in checker)
- Additions to Bindings model (multibind producers)
(#16856) Make a clear distinction between types and instances of types

This commit adds two public methods to the TypeCalculator and a slew
of more unit tests. It also changes the behavior of the assignable?
method slightly to make it more stringent about types and instances.

The new method instance?(t, o) answers the question "is the object o
an instance of the Puppet Type t". This method is necessary since
the assignable?(t, t2) method no longer infers the type of its
second argument. Instead it will always assume that both arguments
are either Puppet types or ruby classes and it will convert any ruby
class into its corresponding Puppet Type using the new method
for_ruby_class(c).

This new method returns the Puppet Type for the given Ruby class. It
will return PType for the ruby class 'Class' and 'Array' and 'Hash'
are assumed to be array of data and hash with literal keys and data
values.
(#16856) Rename #from_ruby_class to #type

The name "type" reads better with the other method names. Later it will
be able to produce the type of a PType (which plays the same role in the
puppet typesystem).
(#16856) Update TypeFactory to use TypeCalculator.type(c) for class.

The previous implementation did the wrong thing for classes that are
mapped to distinct Puppet types. It now relays to the
TypeCalculator.type when calling TypeFactory.ruby(o) with a class (as
this is the most common case).