Add correct implementations of merge/groupBy to Analysis.

Copious comments to explain the non-trivial logic.
Use scalacOptions from project/ for the build definition.
Docs: howto pages on classpaths and default paths
Update home.rst

It took me a while to find where the documentation was in the GitHub repository.  Maybe pages could link back to their source?
Complete code example in Custom-Settings.rst

The original wording confused me.  I thought it meant that there was no point to my new keys unless I used them in a task.  But rather it meant that I needed to create keys for my task and then a task definition with the same key name.  I added the creation of the keys to the task implementation code example to clear this up in the future.
Merge remote-tracking branch 'benjy/analysis2' into 0.13
An intern pool implementation, and associated serialization formats.
Merge branch '0.13' into fix_split_merge
Docs: minor fixes
Include link to source on GitHub at bottom of the page.  Fixes #921.
remove dead APIFormats code
Test for Analysis split/merge.

Requires scalacheck generators for Analysis and its subobjects. These
may be useful for other tests in the future.

Also fixes a bug in RelationTest.
Deprecate some methods replaced by PathFinder.pair
Docs: sitemap generator, basic robots.txt.  Fixes #916.
Merge remote-tracking branch 'benjy/internpool2' into 0.13
Merge remote-tracking branch 'benjy/analysis_test' into 0.13
Merge branch '0.13' into fix_split_merge
New method `toTask` on `Initialize[InputTask[T]]` to apply the full input and get a plain task out.
Filter test options are backwards

The itFilter, defined as integration tests are configured to be run under task 'test' where I think you meant to hav then run under 'fun:test' and vise versa for the unitFilter.
Change how test labels are combined, per code review comments.