sitegen task, create site with better navigation.

Still not everything we want from a basic site generator,
but some steps in the right direction:

A site-wide table of contents, an outline in which the "nodes" are pages.

For each page,
+ page-wide table of contents, a list of headings.
+ "breadcrumbs" up top, that show how/if this page fits into outline

Testing Done:
added some tests. mostly "normal" cases, didn't try to dream up corner cases.

added some non-ASCII text to some test data, inspired by recent Unicode-mangling stories on the mailing list.

started https://travis-ci.org/pantsbuild/pants/builds/36613009

Reviewed at https://rbcommons.com/s/twitter/r/1086/
Sync of https://github.com/pantsbuild/pants/commit/e971ef5444d8d8c08b4de52795946ab0d715a214