[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)
[PATCH 013/153] Fix TTextProtocol to support Union TTextProtocol can not handle TUnion structure: When computeFieldNameMap in StructContext.getCurrentThriftMessageClass(), it looks up the callstack to determine which structure currently is being parsed. It works for most of cases, exception TUnion, because TUnion has its implementation of read/write and any TUnion thrift structure does not override its read and write class. As a result, when the parser comes to any TUnion, it only knows TUnion, but not the specific thrift struct. Thus we can't get the field map.

 This CL only fixes the serialization path, where it now can output TUnion type field. However, when deserialize it would fail, because without FieldMap, it can never restore the field back.

RB_ID=130974

(sapling split of 59e06317cb187b098b37d55324867db3ad772075)
[PATCH 014/153] 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)
[PATCH 015/153] Fixup conflicting jenkinsapi versions - pin the repo to 1.

RB_ID=152527
TBR=true

(sapling split of b454450b0d8da5f4318ddc5df7b101f11ee71093)
[PATCH 016/153] enable kazoo for discovery manager

RB_ID=149782

(sapling split of d385bfabffdffcc1304db4575fa8c8eacc66f249)
[PATCH 017/153] add roll-up metrics to observer

RB_ID=152707

(sapling split of 2faf92068116739c13ec0357a08c18e3b162897e)
[PATCH 018/153] add aggregated connection loss and session expirations.  fix announcer stats

RB_ID=152873

(sapling split of 05e0d7707c73b49c48f97ec1ad26c18c31703acc)
[PATCH 019/153] Move python styleguide into science

RB_ID=153317
NO-QUEUE=true

(sapling split of ede229968e210bda568f686434563536b489646b)
[PATCH 020/153] add twitter.common_internal.auth.elfowl

RB_ID=153324
NO-QUEUE=true

(sapling split of b5447f4ce852928ec63e5604d1ae67cf5a75ff4d)