(#15752) Remove ca_days

Remove `ca_days` as it has been deprecated and should now be removed
for 3.0. `ca_ttl` should be used in it's place.
(#15750) Remove setting `cacrl` to false

Remove support for setting cacrl to false. Puppet will now just
ignore the CRL.
(#15758) Remove fact downcasing

Remove `downcasefact` and `downcase_if_necessary` as downcasing
of facts is no longer supported.
(#15765) Don't allow setting recursion depth with `recurse`

Remove the ability to set the recusion depth by setting the
`recurse` parameter. The `recurselimit ` parameter should now be
used instead.
(#15766) Remove 'path' as a valid parameter for the mount point

The `path` parameter has been deprecated (and now removed) for the
mount point. `name` should now be used instead.
(#15760) Require $ on variables in definitions

When listing parameters in a defined type or class definition, it was possible
to list a paramter without a $ prefix. This has been deprecated since 2006. It
is now required that every parameter begin with $.

Deprecated example:
    define vhost (port = 80, vhostdir) { ... }

Standard, now required version:
    define vhost ($port = 80, $vhostdir) { ... }
(#15765) Raise error for invalid values for recurse parameter

Since the recursion depth can no longer be set with the `recurse`
parameter (and should instead be set with the `recurselimit`
parameter), do not allow integers as valid values for the `recurse`
parameter. In addition, raise an error if the parameter is set to
an integer value.
(#15751) Remove `--apply` option

Remove the `--apply catalog` option as `puppet --apply` has been
deprecated. `puppet apply --catalog` should be used instead.
(#15753) Remove `reportserver` setting

Remove `reportserver` setting as it has been deprecated.
`report_server` should be used instead.
(#15755) Remove `set_default_format` method

Remove the `set_default_format` since it had previously been
depreciated. `render_as` should be used instead.
(#15763) Remove `mkmodelmethods` method

Remove deprecated `mkmodelmethods` method for Provider objects.
`mk_resource_methods` should be used instead.
(#15762) Remove support for Facter versions below 1.5.5

Previously, Puppet would work around the fact that Facter versions
older than 1.5.5 were missing necessary functionality. Remove
this functionality to add a hard dependency on Facter version
1.5.5 or later.
(#15769) Remove `type` attribute for package

Remove the `type` parameter for packages as it has been deprecated,
`provider` should be used in it's place.
(#15771) Remove deprecations in Type objects

Remove several methods and parameters on Type objects that had
previously been deprecated.
(#15752) Remove references to ca_days

Since ca_days itself has been removed, also remove other places
in the code that reference it.
(#15762) Clean up `reload_facter` method

Since all supported version of facter now have Facter.loadfacts,
remove unnecessary conditional statements.
Test that facts preserve case
Add rake task to regenerate parser
Merge branch 'maint/3.x/remove_deprecations' into 3.x

* maint/3.x/remove_deprecations:
  Add rake task to regenerate parser
  Test that facts preserve case
  (#15762) Clean up `reload_facter` method
  (#15752) Remove references to ca_days
  (#15771) Remove deprecations in Type objects
  (#15769) Remove `type` attribute for package
  (#15762) Remove support for Facter versions below 1.5.5
  (#15763) Remove `mkmodelmethods` method
  (#15755) Remove `set_default_format` method
  (#15753) Remove `reportserver` setting
  (#15751) Remove `--apply` option
  (#15765) Raise error for invalid values for recurse parameter
  (#15760) Require $ on variables in definitions
  (#15766) Remove 'path' as a valid parameter for the mount point
  (#15765) Don't allow setting recursion depth with `recurse`
  (#15758) Remove fact downcasing
  (#15750) Remove setting `cacrl` to false
  (#15752) Remove ca_days
(#7986) make solaris pkg versionable.

Changes:
  * Add :versionable and :upgradable to features
  ** Ensurable now returns version rather than present/absent
  * Enable :defaultfor solaris 5.11
  * Change update to use pkg update, and ensure that we ignore return 4
  * Update the test cases to reflect these.