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