doc: upgrade our google analytics invocation, plagiarizing
https://developers.google.com/analytics/devguides/collection/upgrade/reference/gajs-analyticsjs

Testing Done:
published to subdir http://pantsbuild.github.io/larrys-world/
opened chrome dev tools JS console, entered ga('send', 'ihavenoideawhatimdoing')
in chrome dev tools network tab, saw I fetched a gif from google, part of whose url was ihavenoideawhatimdoing

Bugs closed: 235

Reviewed at https://rbcommons.com/s/twitter/r/574/
Refactor the engine to build the phase graph recursively via requesting
products: RoundEngine
Related issue: https://github.com/pantsbuild/pants/issues/247

Was driven by:
https://github.com/pantsbuild/pants/issues/152

The "idea" goal is special since it requires a compile of a sub-graph of
the overall Target graph followed by a gen on the entire graph.
Currently, there is no non-hacky way of specifying a specific section of
the Target graph to be passed to a specific task.

This refactor, aims to extract out the scheduling of Tasks and their
dependencies from register.py (where its been traditionally stored) and
be able to pass through a Target graph if/when required. No matter what
order goals are specified in the register.py, their order is overwritten
by the prepare()/product_type() pairing.

This change is for building the phase graph recursively via requesting
products in prepare(..) and advertising products via a Task classmethod
product_type().
Upgrade commons deps and use public releases.

This is in preparation for the 1st pypi release of
pantsbuild.pants.

Testing Done:
$ ./build-support/bin/ci.sh

Bugs closed: 304

Reviewed at https://rbcommons.com/s/twitter/r/616/