When translating a source package, translate it to the requested
platform, not the current platform.
Port twitter/commons to the pantsbuild/pants build system.

The {src,tests}/python/twitter/pants trees are conceptually deleted
but only the BUILD files in those trees really deleted to keep this
change reviewable.  A quick follow-up will delete those trees.

The custom goal installs have been moved to the pants plugin system
and the ./pants & venv scripts as well as pants.ini have been updated
as a result.

2 sets of additional plugins have been factored up from BUILD files to
the new plugin system:
+ commons_version() replaces the boilerplate VERSION file slurping
+ args-apt ResourceMapper handles the @Cmdline Args apt generated
  resource files from the com.twitter.common#args package hosted in
  this repo.  Since any users of that lib that use pants will need this plugin
  its exported as an sdist for re-use.

There are also alot of small BUILD file changes to catch up to new
syntax requirements including:
+ eliminate inline jar and python_requirement dependencies
+ segregate jar_library jars and dependencies lists
+ wrap python_requirements in python_requirement_libraries
+ use explicit resources lists in jvm targets
+ forgo the use of __file__ (still supported but deprecated)

Testing Done:
$ ./build-support/bin/ci.sh

And travis-ci went green here: https://travis-ci.org/twitter/commons/builds/29951599

Bugs closed: 304

Reviewed at https://rbcommons.com/s/twitter/r/681/
Add missing __init__.pys from bad rbt patch of 681
We should never ever overwrite distributions that have ever been in use.

This is intended to fix https://issues.apache.org/jira/browse/AURORA-583

Testing Done:
Build pants.pantsbuild twitter.common.python>=0.5.9 and tests passed.  No
incidents of bad file headers encountered.

Reviewed at https://rbcommons.com/s/twitter/r/684/
Kill the now-defunct twitter/pants.

Also fixup some READMEs and kill obsolete scripts.

Testing Done:
travis-ci went green here: https://travis-ci.org/twitter/commons/builds/29952581

Reviewed at https://rbcommons.com/s/twitter/r/682/
Update the mtime on retranslation of existing distributions.

1bff97ef stopped existing distributions from being overwritten, to
prevent subtle errors. However without updating the mtime these
distributions will appear to be permanently expired wrt the ttl.
Bump version to 0.5.10.
Merge pull request #309 from benjyw/update_dist_mtimes

Update the mtime on retranslation of existing distributions.
Maintain line set type throughout branches that populate it.

Prep for release of the bugfix with a version bump.

Testing Done:
Discovered using this plugin in an internal twitter repo:
===
...
12:19:25 00:03   [resources]
12:19:25 00:03     [prepare]
12:19:25 00:03     [args-apt]
                   Added args-apt resource file .pants.d/resources/args-apt/eventbus.provisioning.core.src.main.java.api/com/twitter/common/args/apt/cmdline.arg.info.txt.1 for JavaLibrary(BuildFileAddress(/home/jsirois/dev/twitter/birdcage/eventbus/provisioning/core/src/main/java/BUILD, api)):
                   # Created by pants goal args-apt
                   # Fri Jul 18 12:08:32 PDT 2014
                   # Fri Jul 18 12:10:53 PDT 2014
                   # Generated via apt by com.twitter.common.args.apt.CmdLineProcessor
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule DLOG_READ_SERVERSET
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule DLOG_WRITE_SERVERSET
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule DLOG_ZK_CONNECT
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule KAFKA_REGION_ID
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule KAFKA_ZK
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_API_HOST
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_API_PORT
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_REQUEST_TIMEOUT_MILLIS
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_ZK
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_ZK_CONNECT_TIMEOUT_SEC
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_ZK_ROOT
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_ZK_SESSION_TIMEOUT_SEC

               FAILURE
Traceback (most recent call last):
  File "/home/jsirois/.pants.dev/os_pants/src/python/pants/bin/pants_exe.py", line 185, in <module>
    main()
  File "/home/jsirois/.pants.dev/os_pants/src/python/pants/bin/pants_exe.py", line 179, in main
    _run()
  File "/home/jsirois/.pants.dev/os_pants/src/python/pants/bin/pants_exe.py", line 160, in _run
    result = command.run(lock)
  File "/home/jsirois/.pants.dev/os_pants/src/python/pants/commands/goal.py", line 260, in run
    return engine.execute(context, self.phases)
  File "/home/jsirois/.pants.dev/os_pants/src/python/pants/engine/engine.py", line 50, in execute
    self.attempt(context, phases)
  File "/home/jsirois/.pants.dev/os_pants/src/python/pants/engine/round_engine.py", line 186, in attempt
    phase_executor.attempt(explain)
  File "/home/jsirois/.pants.dev/os_pants/src/python/pants/engine/round_engine.py", line 42, in attempt
    task.execute()
  File "build/bdist.linux-x86_64/egg/twitter/common/pants/jvm/args/tasks/resource_mapper.py", line 102, in execute
  File "build/bdist.linux-x86_64/egg/twitter/common/pants/jvm/args/tasks/resource_mapper.py", line 139, in _add_args_resources
AttributeError: 'list' object has no attribute 'update'

Tested using locally burned sdist:
===
...
12:40:25 00:06   [resources]
12:40:25 00:06     [prepare]
12:40:25 00:06     [args-apt]
                   Added args-apt resource file .pants.d/resources/args-apt/eventbus.provisioning.core.src.main.java.api/com/twitter/common/args/apt/cmdline.arg.info.txt.1 for JavaLibrary(BuildFileAddress(/home/jsirois/dev/twitter/birdcage/eventbus/provisioning/core/src/main/java/BUILD, api)):
                   # Created by pants goal args-apt
                   # Fri Jul 18 12:08:32 PDT 2014
                   # Fri Jul 18 12:10:53 PDT 2014
                   # Generated via apt by com.twitter.common.args.apt.CmdLineProcessor
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule DLOG_READ_SERVERSET
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule DLOG_WRITE_SERVERSET
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule DLOG_ZK_CONNECT
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule KAFKA_REGION_ID
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule KAFKA_ZK
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_API_HOST
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_API_PORT
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_REQUEST_TIMEOUT_MILLIS
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_ZK
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_ZK_CONNECT_TIMEOUT_SEC
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_ZK_ROOT
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_ZK_SESSION_TIMEOUT_SEC

                   Added args-apt resource file .pants.d/resources/args-apt/eventbus.provisioning.core.src.main.java.deploy/com/twitter/common/args/apt/cmdline.arg.info.txt.0 for JvmBinary(BuildFileAddress(/home/jsirois/dev/twitter/birdcage/eventbus/provisioning/core/src/main/java/BUILD, deploy)):
                   # Created by pants goal args-apt
                   # Created by pants goal args-apt
                   # Fri Apr 04 16:24:12 PDT 2014
                   # Fri Jul 18 12:08:32 PDT 2014
                   # Fri Jul 18 12:10:53 PDT 2014
                   # Fri May 09 13:56:27 PDT 2014
                   # Fri May 16 22:44:44 PDT 2014
                   # Fri May 23 08:21:59 PDT 2014
                   # Generated via apt by com.twitter.common.args.apt.CmdLineProcessor
                   # Mon Apr 07 17:26:24 PDT 2014
                   # Mon May 19 21:15:29 PDT 2014
                   # Sat May 03 23:34:34 PDT 2014
                   # Sat May 03 23:34:44 PDT 2014
                   # Sat May 03 23:41:15 PDT 2014
                   # Thu May 08 15:57:51 PDT 2014
                   # Thu May 22 22:08:22 PDT 2014
                   # Tue Apr 01 08:52:42 PDT 2014
                   # Tue May 06 22:32:52 PDT 2014
                   # Tue May 06 22:38:49 PDT 2014
                   # Wed Apr 02 16:25:34 PDT 2014
                   # Wed May 14 15:17:25 PDT 2014
                   # Wed May 28 11:27:32 PDT 2014
                   field com.twitter.common.application.AppLauncher APP_CLASS
                   field com.twitter.common.application.AppLauncher GUICE_STAGE
                   field com.twitter.common.application.modules.HttpModule ANNOUNCE_NAMES
                   field com.twitter.common.application.modules.HttpModule HTTP_PORT
                   field com.twitter.common.application.modules.HttpModule HTTP_PRIMARY_SERVICE
                   field com.twitter.common.application.modules.LogModule LOG_DIR
                   field com.twitter.common.application.modules.LogModule USE_GLOG
                   field com.twitter.common.application.modules.StatsModule RETENTION_PERIOD
                   field com.twitter.common.application.modules.StatsModule SAMPLING_INTERVAL
                   field com.twitter.common.logging.RootLogConfig ALSOLOGTOSTDERR
                   field com.twitter.common.logging.RootLogConfig LOGTOSTDERR
                   field com.twitter.common.logging.RootLogConfig USE_GLOG_FORMATTER
                   field com.twitter.common.logging.RootLogConfig VLOG
                   field com.twitter.common.logging.RootLogConfig VMODULE
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule DLOG_READ_SERVERSET
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule DLOG_WRITE_SERVERSET
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule DLOG_ZK_CONNECT
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule KAFKA_REGION_ID
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule KAFKA_ZK
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_API_HOST
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_API_PORT
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_REQUEST_TIMEOUT_MILLIS
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_ZK
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_ZK_CONNECT_TIMEOUT_SEC
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_ZK_ROOT
                   field com.twitter.eventbus.provisioning.api.ProvisioningApiModule PROVISIONING_ZK_SESSION_TIMEOUT_SEC
                   parser com.google.common.collect.Range com.twitter.common.args.parsers.RangeParser
                   parser com.twitter.common.collections.Pair com.twitter.common.args.parsers.PairParser
                   parser com.twitter.common.quantity.Amount com.twitter.common.args.parsers.AmountParser
                   parser com.twitter.common.quantity.Unit com.twitter.common.args.parsers.UnitParser
                   parser java.io.File com.twitter.common.args.parsers.FileParser
                   parser java.lang.Boolean com.twitter.common.args.parsers.BooleanParser
                   parser java.lang.Byte com.twitter.common.args.parsers.ByteParser
                   parser java.lang.Character com.twitter.common.args.parsers.CharacterParser
                   parser java.lang.Class com.twitter.common.args.parsers.ClassParser
                   parser java.lang.Double com.twitter.common.args.parsers.DoubleParser
                   parser java.lang.Enum com.twitter.common.args.parsers.EnumParser
                   parser java.lang.Float com.twitter.common.args.parsers.FloatParser
                   parser java.lang.Integer com.twitter.common.args.parsers.IntegerParser
                   parser java.lang.Long com.twitter.common.args.parsers.LongParser
                   parser java.lang.Short com.twitter.common.args.parsers.ShortParser
                   parser java.lang.String com.twitter.common.args.parsers.StringParser
                   parser java.net.InetSocketAddress com.twitter.common.args.parsers.InetSocketAddressParser
                   parser java.net.URI com.twitter.common.args.parsers.URIParser
                   parser java.net.URL com.twitter.common.args.parsers.URLParser
                   parser java.util.Date com.twitter.common.args.parsers.DateParser
                   parser java.util.List com.twitter.common.args.parsers.ListParser
                   parser java.util.Map com.twitter.common.args.parsers.MapParser
                   parser java.util.Set com.twitter.common.args.parsers.SetParser
                   parser java.util.regex.Pattern com.twitter.common.args.parsers.PatternParser
                   verifier java.io.File com.twitter.common.args.constraints.CanExecute com.twitter.common.args.constraints.CanExecuteFileVerifier
                   verifier java.io.File com.twitter.common.args.constraints.CanRead com.twitter.common.args.constraints.CanReadFileVerifier
                   verifier java.io.File com.twitter.common.args.constraints.CanWrite com.twitter.common.args.constraints.CanWriteFileVerifier
                   verifier java.io.File com.twitter.common.args.constraints.Exists com.twitter.common.args.constraints.ExistsFileVerifier
                   verifier java.io.File com.twitter.common.args.constraints.IsDirectory com.twitter.common.args.constraints.IsDirectoryFileVerifier
                   verifier java.lang.Iterable com.twitter.common.args.constraints.NotEmpty com.twitter.common.args.constraints.NotEmptyIterableVerifier
                   verifier java.lang.Number com.twitter.common.args.constraints.NotNegative com.twitter.common.args.constraints.NotNegativeNumberVerifier
                   verifier java.lang.Number com.twitter.common.args.constraints.Positive com.twitter.common.args.constraints.PositiveNumberVerifier
                   verifier java.lang.Number com.twitter.common.args.constraints.Range com.twitter.common.args.constraints.RangeNumberVerifier
                   verifier java.lang.Object com.twitter.common.args.constraints.NotNull com.twitter.common.args.constraints.NotNullVerifier
                   verifier java.lang.String com.twitter.common.args.constraints.NotEmpty com.twitter.common.args.constraints.NotEmptyStringVerifier

12:40:25 00:06   [bundle]
...

Bugs closed: 308

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