finagle: simplify Stack clients and servers. Unify around them.

We introduce StdStack{Client,Server} and apply them consistently
across clients and servers. This simplifies our current "new style"
protocol implementations and makes them more flexible. Users can now
customize, parameterize, and otherwise alter the entirety of the
finagle stack through a few, carefully selected primitives. (Namely,
Stack, Stack.Params, and StdStack*.) Client and servers are now
first-class values that may be manipulated through the use of these
primitives.

This makes consistent use of Stack for our various clients and
servers. Old uses in package exp are removed.

RB_ID=451549
scrooge-core: Documents ThriftUtil.transfer

RB_ID=489497
bump util to 6.22.2-SNAPSHOT

RB_ID=493423
TBR=true
NO-QUEUE=true
scrooge: Add namespaces for enum values with -l=java.
Problem

With --language=java, scrooge produces invalid output for enum values used from a different namespace.

Solution

Add a fully qualified name for the enum value.

RB_ID=492455
scrooge [minor]: Place finagle import in the appropriate place

https://github.com/twitter/scrooge/pull/147

Problem

If scrooge generates scala code without --finagle, finagle import is still there, requiring the dependencies.

Solution

Place finagle import in the appropriate place, grouping it with util.Future.

Result

Generated code doesn't depend on Finagle if --finagle option is not used.

RB_ID=497053
scrooge [trivial doc changes]: Add missing ending single quote in command line examples.

https://github.com/twitter/scrooge/pull/156

RB_ID=496945
=Merge branch 'master' into sq_reserved/498209_util-6.22.2_1029222833

RB_ID=498209
TBR=true
NO-QUEUE=true
Cut over from maven publishing to pants publishing.

RB_ID=502437
Kill maven, kill it with fire

Removes all pom.xml files except:
 scrooge/scrooge-maven-plugin/pom.xml
 macaw-swift/**/pom.xml
 parents/**/pom.xml

RB_ID=502053
TBR=true
Remove more poms

Not sure how these slipped by last time, removing more poms. Will skip adding the rest of the company out of shame and since they already shipited it.

RB_ID=505101
TBR=true
NO-QUEUE=true
scrooge: Fix parsing of defaults for boolean values.

Problem

Scrooge is inconsistent in RHS handling for bool values, e.g.

const bool x = NotABool        # Throws an exception
const bool y = 1               # no exception, generates invalid scala like "val y: Boolean = 1"
struct S { bool x = NotABool } # no exception. Translated to true, valid scala generated.
struct S { bool x = false }    # Translated to true (!)
struct S { bool x = 1 }        # Translated to true (current workaround that doesn't work for consts)

Solution

Unify the handling of bool RHS values.

Result

Booleans get parsed as expected. Valid values are {true, True, false, False, 0, 1}.

RB_ID=507207
scrooge: Rename *Helper -> *Aliases in unions.

Problem

A recent change (add .withoutPassthrough method) renamed *Aliases to *Helper in generated scala for unions.

This broke backward-compatibility sinse it's part of the public interface.

Solution

Undo the renaming.

RB_ID=508707
use DefaultTracer in OstrichThriftServer

RB_ID=517185
scrooge: Generate FinagledClient and FinagledService for experimental-java.

https://github.com/twitter/scrooge/pull/138

Problem

With -l=experimental-java, finagle service and client are not generated. Looks like this was broken since https://github.com/twitter/scrooge/commit/cad09af7963f01a3efbb8d5a5add8e7354bda1aa.

Solution

Generate finagle service and client.

RB_ID=513421
birdcage: Upgrade scopt 2 to 3.

Related: https://github.com/twitter/scrooge/pull/143

RB_ID=499725
TBR=true