Add support for the compiler/resource-mappings metadata protocol.

See linked issue 208 but the meat of the reason/protocol is defined here https://github.com/pantsbuild/pants/issues/416

Pants will use this initially to keep track of cmdline.arg.info.txt
resource files in its distributed compilation cache.

Testing Done:
$ ./pants goal test {tests,src}/java/com/twitter/common/args::
...
12:09:03 00:21         [compile]
12:09:03 00:21           [jmake]
                         Jmake version 1.3.8-1
                         warning: bootstrap class path not set in conjunction with -source 1.6
                         Aug 04, 2014 12:09:04 PM com.twitter.common.args.apt.Configuration load
                         INFO: No @CmdLine arg configs found on the classpath
                         /home/jsirois/dev/3rdparty/jsirois-twitter-commons/tests/java/com/twitter/common/args/ArgsTest.java:30: mandatory_warning: junit.framework.Assert in junit.framework has been deprecated
                         import static junit.framework.Assert.assertEquals;
                                                      ^
                         /home/jsirois/dev/3rdparty/jsirois-twitter-commons/tests/java/com/twitter/common/args/ArgsTest.java:30: mandatory_warning: junit.framework.Assert in junit.framework has been deprecated
                         import static junit.framework.Assert.assertEquals;
                                                      ^
                         note: Writing file:/home/jsirois/dev/3rdparty/jsirois-twitter-commons/.pants.d/compile/jvm/java/classes/com/twitter/common/args/apt/cmdline.arg.info.txt.1
                         note: Writing file:/home/jsirois/dev/3rdparty/jsirois-twitter-commons/.pants.d/compile/jvm/java/classes/META-INF/compiler/resource-mappings/com.twitter.common.args.apt.CmdLineProcessor
...

$ cat .pants.d/compile/jvm/java/classes/META-INF/compiler/resource-mappings/com.twitter.common.args.apt.CmdLineProcessor
resources by class name:
60 items
com.twitter.common.args.parsers.CharacterParser -> /home/jsirois/dev/3rdparty/jsirois-twitter-commons/.pants.d/compile/jvm/java/classes/com/twitter/common/args/apt/cmdline.arg.info.txt.1
...
com.twitter.common.args.ArgScannerTest$SameName -> /home/jsirois/dev/3rdparty/jsirois-twitter-commons/.pants.d/compile/jvm/java/classes/com/twitter/common/args/apt/cmdline.arg.info.txt.1

Bugs closed: 208, 318

Reviewed at https://rbcommons.com/s/twitter/r/823/
bug fixes

This fixes some bugs in migrate with -o (reported by Mark Christian).  There are two commits here; the first just hardens the script a bit by quoting variables and crashing out on error better.  The second actually does the fixes.

Testing Done:
Tested by migrated macaw-swift from twitter into birdcage.

Bugs closed: DPB-1796

Reviewed at https://rbcommons.com/s/twitter/r/792/