Update references for 3.3.0-rc2, w/ belated 3.2.4 and 2.7.23 refs too
Update report format docs for Puppet 3.3.0
Improve special reference versions -- add major.latest, major.stable, major.minor.stable
Change various links to use new 3.stable urls; reorganize main references index/sidebar
Guts: Revamped type reference!

This commit changes the PuppetDocs::Reference code to generate the type
reference in-house instead of asking the Puppet code for a preformatted text
blob. This gets us several huge wins; mostly, the ability to reformat the
reference at will without patching Puppet, and the ability to provide structured
data to anyone who wants to do their own thing.

What the new code does is to basically load the universe (but not instantiate an
autoloader, so we won't get any types from modules or the Puppet libdir),
interrogate the available type objects for their various documentation
fragments, build them into a reliable structure, then use that structure to
assemble a document. We rely on the existing documentation/feature/data methods
on the types/providers/parameters/properties, which obviously could be
problematic for the long term, but since we're hoping to build a unified
documentation service with Geppetto somewhere around the six month horizon, this
seems a reasonable way to decouple the formatting of type reference from
the Puppet code in the short term.

We aren't planning to give STRONG API maintenance to the type.json file, but
it's there if anyone wants it, and it shouldn't change much.
Re-generate the 3.3.0-rc2 references with re-done type reference
Use ERB to template the documentation for each type

This -- the way to arrange/format the docs for an individual type -- is the
heart of the type reference, and we're doing enough complicated things with the
underlying data that I've concluded we can't make it non-gross. So the right
approach is probably to isolate the grossness as much as possible.

Doing a big chain of string appends mixed with variable assignments is probably
not the way to isolate the grossness! So instead, let's assign a few of the more
expensive variables and then push most of the formatting logic out into a big
nasty ERB template.
Add attributes/providers/features TOC to each type

This makes it easier to jump around within a type... I think.
Fix missing quotes in yaml frontmatter for three files
Add 3.3.0-rc3 release notes
Update node definitions page for changes in Puppet 3.3.0
Update references for 3.3.0-rc3
Merge remote-tracking branch 'upstream/master'
(#21133) Add versionable feature to windows package provider

Previously, the windows package provider knew what versions of
packages (MSI and exe) were installed, but did not report them,
e.g. when running puppet resource package.

The package provider is now versionable, and docs are updated accordingly with caveats.

https://github.com/puppetlabs/puppet/pull/1871
Merge pull request #209 from zacharyalexstern/master

lookupvar for empty variable returns nil not undefined
Guts: Override in-page TOC for type reference

That TOC was literally about six screens long. On a big monitor. Blow it away
and make a smaller multi-columned one, so you can see the start of the page from
the get-go! This isn't the most sustainable way to do this, but it at least
solves the worst of the fugly.
Revise preamble text of type reference to be more useful for beginners

- Cover the basics
- Link to language reference
Update 3.3.0-rc3 type reference w/ recent changes to generator
Clarify further about testing for undefined variables with lookupvar et al
Final 3.3.0 release notes