Add webp to filtered drawable resources.

Summary:
This way webp in drawable per-dpi directories will be filtered too
(and we will be able to use webp for newer phones).
Fix python configuration processing.

Summary:
Previously buck would try to use any executable file or
directory in its working directory as a python interpreter. It would
also silently fall back to finding a python on the PATH if a python
path was specified in the config, but invalid. This change fixes both
of those problems and adds tests.

Test Plan:
0) buck test --all
1) mkdir python
2) touch BUCK
3) check that "buck build :lolwut" returns the error "BUILD FAILED: No rule
found when resolving target //:lolwut in build file //BUCK"
Update bin/buck.cmd which has fallen behind bin/buck_common.

Test Plan: Ran Buck on Windows 7.
Fully-qualify Javadoc reference so IDE does not try to add import statement.

Summary:
If an IDE, such as Eclipse, adds an import for `ProjectCommand` in `Parser.java`, then
it will break the build because `Parser` does not depend on the `com.facebook.buck.cli`
package.

Test Plan: Sandcastle builds.
Add support for --json for `audit classpath`.

Summary:
Return the classpath for multiple targets, grouped by
target; sort stuff to make sure the output is stable.

Note: this doesn't throw if one of the targets
provided does not have a classpath; it's omitted from the output
instead.
Fix MULTIANEWARRAY instruction w.r.t. dx.

Summary:
DX converts the MULTIANEWARRAY instruction into a call to the
Array.newInstance(Class,int...) method.  Since DalvikStatsTool is
tracking the method counts, it needs to add this method to the mix
when it notices a MULTIANEWARRAY instruction to keep the method counts
correct.

Test Plan: added unit test
Intern strings returned by Gson when parsing build files.

Summary: This prevents `buck targets` from OOM'ing on large projects.

Test Plan:
Verify that `buck targets` no longer fails, without resorting
to increasing the max heap size.
Refactor graph enhancement logic into AndroidBinaryGraphEnhancer.

Summary:
This makes the graph enhancement logic easier to unit test, and helps
ensure that it does not modify the `AndroidBinaryRule.Builder` from which
it is used. Its only side-effect is that it updates the `BuildRuleResolver`
that is passed in, but now that distinction is clearer.

Test Plan: Sandcastle builds.
Handle nulls gracefully in the JavaTestRule when reporting errors.

Summary:
It's possible for the rule to be null when trying to figure out whether the source under
test is a java library rule. Handle this without causing buck to blow up.

Test Plan: Visual inspection of the code.
Update android_binary to take a SourcePath for its manifest parameter.

Summary:
In practice, we have been using genfile() to use a generated file as
a manifest for an android_binary(). This relaxes android_binary() to
accept a SourcePath, which will help us start to do away with genfile().

Test Plan: Sandcastle builds.
Update the strings asset file format for easier parsing.

Summary:
The new file format makes it so that parsing sections of the file one at a time
becomes easier.
Also, switch some of the `byte` and `short` to `int` to make it more flexible.
Intentionally left the `byte` data type in plurals since the number of plural
categories is guaranteed to be <= 6.

To make it easier to maintain the unit test, I changed the file format to
something easy to understand/edit.

Test Plan: ant test
Redundant format arg in resolveFilePathRelativeToBuildFileDirectory.

Summary:
In method resolveFilePathRelativeToBuildFileDirectory, String.format
is called with 3 arguments, but the string format only expects 2.

Remove the redundant one.

https://github.com/facebook/buck/pull/61

Test Plan: Unit tests, sandcastle
Handle KeyboardInterrupt in buck.py.

Summary:
Terminating a buck build with CTRL-C sometimes results in a Python
Traceback being shown on the terminal.

Fix this by catching KeyboardInterrupt in the main() method. Don't
do anything with the caught exception; just pass.

Test Plan: Build something. Terminate it with CTRL-C. Don't see a TraceBack.
Ensure onCreate calls through to super.onCreate().

Summary:
Quick Start docs create an activity that does not call through to
super.onCreate and causes the sample Hello World app to crash.

https://github.com/facebook/buck/pull/53

Test Plan: http://localhost:9811/setup/manual_quick_start.html
Update NailGun to a version that supports a configurable client disconnection timeout.

Summary:
Update nailgun to 5915c1f84c70dc763627dfde549c7ab07d712164,
modify buckd script to pass timeout to NailGun server.

Test Plan:
0) buck test --all
1) buckd
2) buck build buck, check that it completes
3) modify buckd script to set BUCKD_CLIENT_TIMEOUT_MILLIS to 500
4) buckd
5) buck build buck, check that build exits with "Client disconnected." message.
More fixes for WARN_ON_TRANSITIVE.

Summary: Suggesting importing a export_dep first was broken.

Test Plan: Unit tests.
Change exportDeps boolean to list exportedDeps.

Test Plan: Unit tests.
Improve CopyStep's error message.

Summary:
I saw this while developing, and I was not sure what was attempted
to be copied.

Test Plan: Sandcastle builds.
Modify UberRDotJavaUtil.getAndroidResourceDeps() so it no longer needs a DependencyGraph.

Summary:
This makes `UberRDotJavaUtil` more general, which will make it easier to repurpose for
use by a standalone `aapt package` rule.

Test Plan: Sandcastle builds.
Improve the bash completion script installation instructions.

Summary:
On some distributions there is a specific folder in which the script should
be placed, rather than adding the `source` command in the user profile.

https://github.com/facebook/buck/pull/56

Test Plan: Follow the instructions and make sure it works as expected.