Add new TableOfContents Page variable (Markdown only)

Added TableOfContents field to hugolib.Page struct.  New function
getTableOfContents is used in convertMarkdown to set the TableOfContents
field.

Added new test file hugolib/page_toc_test.go with a simple test of the
new functionality.

Conflicts:
	hugolib/page.go
Big refactor of pages code. Changed TOC code to only parse when actually used
fixing 178.
Don’t render short codes on summary twice
Moved TOC test into page_test. Some general page_test cleanup.
Continue with TOC integration and page refactor. Updated a few tests to match new generated output.
Adding support for boolean params
Using table of contents within the documentation.