Create JavaSymbolFinder.

Summary:
For autogenerating dependencies, we need to be able to tell which build targets
define a given Java symbol. This class implements that search by making
educated guesses about where the defining file could live, and then parsing the
available candidates.

Test Plan: Integration test included.
Fix broken test by closing ProjectBuildFileParser properly.

Summary:
D910431 created a test method called
`onlyUseThisWhenTestingToFindAllTransitiveDependencies` that created a
ProjectBuildFileParser without closing it. For some reason, D1243758 caused
this dangling parser to start writing to stderr when it closed (presumably
because the process it was piping to was already dead). Wrapping the parser in
a try-with-resources fixes the problem.

Test Plan:
The failure only triggered on a clean test, and only when all tests
were running at once. Again, I'm not sure why.

`buck clean && buck test --all`
Fixed an integer overflow bug related to truncating a long to an int.

Summary:
This happened when I used the Buck httpserver on a machine I had not used
for 4 months. The new timestamps were sufficiently far apart to reveal
the bug that you see in the unit test.

Test Plan: Wrote a regression/unit test.
Update the .trace file name patterns in the httpserver.

Test Plan: Verified that this makes the pages on the httpserver load again.
Revert to normal parser if watchman throws.

Test Plan:
Unit tests
Perf Test
[osx] Enable osx_resource rule

Summary:
The osx_resource rule is distinct from the ios_resource rule. It places
resources into the Contents/Resources subdirectory of the application bundle,
while ios_resource places it in root directory as expected for iOS application
bundles.

It'd be better to unify these with an apple_resource rule or something
similar. The placement should be determined by the parent target's platform
rather than the rule itself. For now, having separate rules will do.

Test Plan: Builds
Turn on buckd by default.

Test Plan:
buck build fb4a, verify buckd ran

whatcouldgowrong
Delete an unintentionally copied comment.

Summary: ^

Test Plan: Comment change.
Revert "Make the JUnitStep use Paths to represents paths"

Summary: This reverts commit ba69764a4d7203e06e502bc1ccdb916b65a759e3 and 19857ff.

Test Plan: sandcastle
Record artifact for a GwtModule.

Test Plan: Manual testing.