Include the sources and resources when determining whether a java_library needs rebuilding.

Summary:
We currently only include the directly depended deps when calculating whether a
java_library needs rebuilding. If a source or resource was included as a SourcePath pointing
to a BuildTarget (BuildRuleSourcePath), we're not appropriately rebuilding the rule.

Test Plan: buck test --all
Fix input path reference for genrule

Summary: Before if your genrule src was 'foo/bar.png' and your buck file was in 'project/path' in practice Xcode would try to run the script on  'project/path/project/path/foo/bar.png'. This solution seems to work by making the path relative to the project root before appending it. Or something. It worked.

Test Plan: Added a unit test. Ran a genrule through Xcode.
Allow httpserver to be turned off in .buckconfig.local by specifying an empty port without an error.

Test Plan: Create a .buckconfig.local with an empty port setting, verify there was no error.
Fix infinite loop when starting buckd with a .nobuckcheck file

Test Plan:
Start buckd in fb4a
add a .nobuckcheck file, make some change in the buck repo
kill the buckd process by hand
run buck clean, verify it doesn't hang
Disable flushing after exit on perfomance test and turn off httpserver

Test Plan: Run the performance test locally
Improve how BuildRuleSourcePaths are packaged into JAR files when used as resources.

Summary:
Previously, if a generated file from another directory was included as a resource of a `java_library()`, it
was placed in the directory corresponding to the BUCK file that defined the `java_library()`.
This diff changes the heuristics of `CopyResourcesStep` so that a generated file used as a resource
will be placed in a directory that corresponds to the Java package in which it "originates," if appropriate.

For example, if the `.buckconfig` declares the following:

```
[java]
  src_roots = /java/
```

and `//java/com/example/res:gen_resource` is a `genrule()` that produces 'foo.txt',
and `//java/com/example:example` is a `java_library()` that declares
`//java/com/example:gen_resource` as a resource, then the generated JAR file
will contain the entry `com/example/res/foo.txt`. Previous to this diff, it would
appear as `com/example/foo.txt`.

Test Plan:
Created an integration test: `CopyResourcesStepIntegrationTest`.
Verified that `CopyResourcesStepIntegrationTest` failed without my changes.
The existing `CopyResourcesStepTest` passes without any changes.
Sandcastle builds.
[buck] add a flag to indicate the status for a buck rule

Summary:
This adds the requirement to tag our rules with their level of support in
our open source documentation.  Currently, the method supports these types:

* PRODUCTION
* BETA
* EXPERIMENTAL
* DEPRECATED

Test Plan: `./soyweb-local.sh `
Include directory entries in zips created by the JarDirectoryStep

Summary:
It turns out that some Java tools like to have directory entries in zip files, even if
they're not strictly necessary. This fixes issue 91:

https://github.com/facebook/buck/issues/91

Test Plan: buck test --all
Better error for bogus iOS targets

Summary: I've run into this a number of times and would like a better error message.

Test Plan:
buck project Apps/Foo/
BUILD FAILED: target not found: //Apps/Foo:Foo

buck project Apps/Foo:project
succeeds
Add a provided_deps argument to java_library.

Summary:
This is useful for the case where a java_library will be running in a host container
that will supply a set of dependencies (such as a JEE server) that are needed in order
to compile the classes.

Addresse github issue 68: https://github.com/facebook/buck/pull/68

Test Plan:
buck test --all
Added a test to ensure that a java_binary does not include provided_deps