Do not log connection exceptions multiple times.

Summary: No more log spews!

Test Plan: Since the cache is down today, just tested on buck build fb4a.
Re-enable use of ##BufferedOutputStream## in ##OverwritingZipOutputStream##

Summary:
There appears to be a bug in ##CustomZipOutputStream## which only closes
entries when a new entry is put.  This leaves the last entry un-closed
which, when used with a ##BufferedOutputStream## meant that it was
never flushed to the underlying file, and the entry was unwritten.

This diff adds a call to ##closeEntry## in ##actuallyClose## which
closes any currently open entry and re-enabled use of ##BufferedOutputStream##.

Test Plan:
  ant test -Dtest.class=ZipOutputStreamTest
PBXProject: don't `name` attribute

Summary:
This isn't used by xcode and xcodeproj fails parsing when it's
present.

Test Plan:
Disabled ##run_xcproj_touch## in ##Tools/buck-project.py## and ran:

  $ Tools/buck-project.py Libraries/FBPaperAttachmentsKit
  $ /usr/bin/xcodeproj show Libraries/FBPaperAttachmentsKit/FBPaperAttachmentsKit.xcodeproj
Restart buckd if .buckversion or the contents of the buck directory with a .nobuckcheck file have changed.

Test Plan:
Add .nobuckcheck file in fb4a
buck build messenger
<change buckd script>
buck build messenger
<verify buckd restarted>
Fix style by moving closing paranthesis on their own lines to the previous lines.

Summary:
Ran these commands
```
$ git grep -l " );" | grep "^src" | xargs sed -i '{
N
s/\n\s*)/)/
}'
```

Similarly, for "^test" and " ));".

Test Plan: sandcastle
Moar styling fixes after beefing up the sed replace pattern.

Test Plan: sandcastle
Log cassandra connection failures to scuba.

Test Plan: Unit test.
Extract a Step for copying resources.

Summary: Tidy up DefaultJavaLibrary a little by extracting a Step for copying resources.

Test Plan: buck test --all
Add a buck_extension build rule.

Summary: Part one of a sequence of diffs to allow buck to be extended at runtime.

Test Plan: buck test --all
Create a setting for not flushing event listeners after buckd returns

Summary: buckd wasn't logging on buildbot because of this.

Test Plan:
Set `.buckconfig.local` to:

```
[daemon]
  flush_events_before_exit = true
```

buck build buck && $(cat .buckd/buckd.pid | xargs kill -9)

Verify chrome trace is there.
If an overflow event is generated, kill the watchman subprocess

Test Plan: Not sure...we think this is the source of zombie watchman procs on buildbot.
Wait for up to 10 seconds for .buckd/buckd.log to appear.

Summary:
This was causing failures in production last week.

Test Plan:
buck build buck
tweak code to simulate buckd.log not showing up
verify buck build buck still passes
Do not pass the main R.java package in the extraLibraryPackages arg of aapt.

Test Plan:
buck build fb4a
sandcastle
Fix Eclipse warnings.

Test Plan: No more yellow icons in Eclipse.
Remove the deprecated ProjectFileSystem.exists(String) method.

Summary: There are many methods in PFS that are marked deprecated. This removes one of them.

Test Plan: buck test --all
Add checkstlye rule for unused imports and an autofix

Summary: For whatever reason, it's not parsing the javadoc for AaptPackageResources

Test Plan: This diff
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