add python checkstyle tool to science

code lives in {src,tests}/python/twitter/checkstyle
checkstyle plugins live in src/python/twitter/checkstyle/plugins and are dynamically loaded (but can be toggled with the -p option)

there are four binary targets provided:
  src/python/twitter/checkstyle:check => checker with all checks linked in
  src/python/twitter/checkstyle:check_pep8 => checker with only pep8 checks linked in
  src/python/twitter/checkstyle:check_pyflakes => checker with only pyflakes checks linked in
  src/python/twitter/checkstyle:check_twitter => checker with only twitter styleguide-specific checks linked in

running:

dist/check.pex [-p PLUGIN1 [-p PLUGIN2] ...]
               [--diff=branch]
               [-s SEVERITY]
               [--strict]
               glob1 glob2 ...

  -p allows you to toggle individual auto-loaded plugins, e.g. ExceptStatements.  if -p unspecified, all are selected.
  if --diff=branch is supplied, only run checkstyle against a diff (e.g. i've been testing this code by running dist/check.pex --diff=master)  NOTE this disables glob checking.
  severity levels are COMMENT, WARNING, ERROR.  -s allows you to toggle the level at which we log nits.
  if --strict is supplied, it exits non-zero if you get any nit at WARNING or higher.
  if globs specified, zsh glob (you probably want to escape these if you're already in zsh)

RB_ID=151272

(sapling split of 73e80ba512c854135544624f2baa6d6fca4eaddf)
add more checkstyle test coverage, integrate issue taxonomy

RB_ID=152529

(sapling split of d5b887947f86a34d40c05616cb2816db64132b9d)
do not discourage single line exception classes in checkstyle

single line: pass and hierarchy checking coming in next diff

RB_ID=153609
NO-QUEUE=true

(sapling split of 088ee346232a2869e6bb698a2f75732be7f840d2)
Streamlines Python checkstyle output

RB_ID=156640
NO-QUEUE=true

(sapling split of 57a0c45cb78dd99691a903d0c9bcf648e06fa4d6)
Sets checkstyle diff branch to master if no args or branch are set

RB_ID=156749
NO-QUEUE=true

(sapling split of 71613a83c5dfcc7b2f405d69a221f3db655e51f5)
AWESOME-4695 Fix checkstyle when renaming python files

RB_ID=170611

(sapling split of 6c2832f74059eeed0313e9e9c184d4d16dfe8cb1)
rename src/python/twitter/mesos to src/python/twitter/aurora

rename src/python/twitter/mesos to src/python/twitter/aurora
 - change sandbox code
 - rename recipes
 - s/MesosClientAPI/AuroraClientAPI/
 - update thrift namespaces, straggling missed changes and entry_points
 - import reordering
 - search and replace for twitter/mesos to twitter/aurora
 - search and replace for twitter.mesos to twitter.aurora
 - rewrite BUILD files

RB_ID=175784

(sapling split of d882f27457be9f6918c4eda1d66c7e415af28eca)
Fix checkstyle errors for checkstyle.

RB_ID=195707

(sapling split of 19d8d682d5f4b6721aa26cc4fc592cc100d5f990)
[PATCH 001/153] make ExecutorVars a thread. derp.

RB_ID=145676
NO-QUEUE=true

(sapling split of d74d9d2198f3247e9ebbd0641bb2fc46387855a1)
[PATCH 002/153] make sure the TwitterService joiner thread never dies

RB_ID=146299
NO-QUEUE=true

(sapling split of 90a2368ca98a911d4ff5a33dc4ba229ca5a1256b)
[PATCH 003/153]  Pin science to psutil 0.5.0 until api incompatibilities in 0.7.1+ can be resolved.

Kill instances of unused psutil.

RB_ID=147275

(sapling split of 38c61f4fec5d72d6450afae82264d08b16226a1c)
[PATCH 004/153]  Fixup Git to use the older -a to signal an annotated tag.

RB_ID=146973

(sapling split of 93f16019f240e74b6edd663274166c7f87aad267)
[PATCH 005/153]  enable publishing to Confluence4.0+

RB_ID=144041

(sapling split of b33350d93726c100109616c3d880985d42742831)
[PATCH 006/153]  add a KazooGroup implementation

RB_ID=143825

(sapling split of 455ef460a477e1c15a66b5c41e6e472d131e9d59)
[PATCH 007/153]  only set membership disconnection timer if we have not deliberately torn down

RB_ID=147717

(sapling split of 6e7871a527509895302646d2621686d5cd0fa9cb)
[PATCH 008/153] split out serverset/kazoo_serverset

RB_ID=147838
NO-QUEUE=true

(sapling split of 84b3b87270a62ba0f3e0a4797d635022da579084)
[PATCH 009/153] Add debug messages to SSH tunneling and SOCKS proxy; fix timeout behaviour

RB_ID=149332
NO-QUEUE=true

(sapling split of 96e239d13aa10e2814473e134acc5f3593a1fe30)
[PATCH 010/153] Thermos and GC executor related changes: - Switch to psutil in GC executor - Handle corrupt checkpoint streams more cleanly - Significant improvements to GC executor test coverage - Kill OS X from twitter.common_internal.appapp (it hasn't worked for a while anyway) - Clean up RecordIO errors, log messages and interfaces

RB_ID=147911

(sapling split of 91efe19c0593a1bebb8c170542b34c3e83dfd976)
[PATCH 011/153] Fix recordio test, fix extraneous "

RB_ID=150029
TBR=true

(sapling split of 09aeadec7789146c95303b8da74802163260fdb1)
[PATCH 012/153] ads-deploy: fix dependency on jira-python to version 0.9

science repo is going to have two versions of jira-python.
To guard ads-deploy, which depends on jira-python 0.9, from
possible breakage due to the newer version of jira-python,
this CL fixes its version to 0.9, which is the one currently used.

RB_ID=150257

(sapling split of 314a5f304b4379145f28d3396bf63a77e3971b2e)