Revert "Revert "Make the JUnitStep use Paths to represents paths""

Summary:
This reverts commit b6584a3846376d3c91d7bee7d02f827ff6b359d3.

Test Plan: yolo1
Remove unused targets and supporting scripts

Summary:
We can now get the same results using either the buck_extension rule or by using
provided_deps.

Test Plan: buck test --all
Output a useful error message if a genrule relies on a location that's null.

Summary:
When using a genrule, it's possible to use the "$(location :target)" construction in
order to get the output of a build rule. This is fine, unless that rule happens to
have no output. In this case, throw a meaningful error message rather than an NPE.

Test Plan:
Add a test
buck test --all
Introduce flavours

Summary:
Surface the fact that rules can have flavours, even if they're not yet directly addressable.

Note: using the US spelling of flavour in code. Some sort of medal for the mental anguish this
causes would be Really Nice.

Test Plan: Added extra tests, ran them.
docs: Fix ABI/API confusion on "what makes buck so fast" page.

Summary:
Closes #115

Also added missing <p> tags.  The paragraphs without a leading <p>
were smooshed together.

Test Plan: Visually checked result with "soyweb-local.sh" server and Chrome.