[ios] Allow project to specify its own asset catalog build script

Summary:
@bhiller noted that using asset catalogs would require engineers to run buck
project upon checkout before being able to build. At this time, this is not
necessary in fbobjc and should remain unnecessary until all of the repository is
converted.

Test Plan:
Add .buckjavaargs to set the new system property in fbobjc buck invocations and
see projects using apple_asset_catalog create targets with a reference to the
custom build script.
Kill any subprocess created by a shell step on InterruptedException.

Summary:
@msimpson reported that "Ctrl-C-ing buck test --debug with buckd leaves the
port bound forever". The reason that happens is because `JUnitStep` which runs
tests is a `ShellStep` which basically creates a new subprocess to run a shell
command. This fixes the issue by destroying subprocesses after catching an
`InterruptedException`.

Test Plan:
buck test --all

Make sure NO_BUCKD is unset.
buck test --debug test/com/facebook/buck/rules:rules
Attach debugger in IntelliJ and set a debugger. As the breakpoint is hit,
Ctrl-C the buck test command.
Check that `lsof -i :5005` returns empty results.
[ios] Fix build phase generation when using custom asset compilation script

Summary:
The previous change to allow a custom asset catalog compilation script was not
tested properly. Buck still placed its own compilation script in an output
directory. The reference to the script in the project was also incorrect.

Test Plan:
Migrate a project to use apple_asset_catalog. Verify buck does not place its own
compilation script anywhere. Build the resulting project and verify the assets
are placed in the correct place.
Add vim .swp files to gitignore.

Summary: Very annoying when working on the bootstrap scripts.

Test Plan: Edit bin/buck in vim, notice git status doesn't list bin/.buck.swp file in status.