[split] update ostrich related docs

RB_ID=170860
NO-QUEUE=true
[split] bump scrooge to 3.4.1-SNAPSHOT

RB_ID=170833
TBR=true
[split] bump scrooge maven plugin

RB_ID=170983
TBR=true
NO-QUEUE=true
[split] fix scrooge maven pom

RB_ID=171009
TBR=true
NO-QUEUE=true
[split] add scrooge-ostrich to sbt

RB_ID=171195
TBR=true
NO-QUEUE=true
Merge branch 'tmp'
[split] Cleanup around the TypeResolver  - add myself to the owners  - cleanup for CSL-272 (tried to ensure compatibility with apache thrift, i.e. the apache thrift generator seems not to support deeply nested scopes)  - some of the TODOs in the code were because we both populated a scopePrefix when parsing the doc for the base types but also overrode it from the QualifiedID root.

RB_ID=171566
[split] use apply instead of cons for enum list all

RB_ID=171499
[split] scrooge: breaking out finagle, higher-kinded-type interface Highlights of this change:

1) The finagle service and client classes, plus the deprecated ostrich wrapper trait, are now generated in separate files from the main service interface file.  The main advantage of this is that if you have multiple compiled_idl targets generating from the same thrift but with different options, the source code is purely additive and you don't get conflicts (this isn't entirely true yet, see next bullet point).  This can help reduce the need to generate the same idl into unique namespaces.  For service X, the new class names are X$FinagleClient, X$FinagleService, and X$ThriftServer.

2) I tried to find a completely backwards-compatible way to do the above, but couldn't, so for now, to ease migration, nested classes within the service companion object with the same names as before are still generated, but deprecated.  Once we get everyone switched over to using the new class names, we can stop generating the nested classes.

3) We are no longer generating the sync Iface trait, no one was using it, and it only complicates the code to have two incompatible interfaces to the same service.

4) scrooge now generates a higher-kinded-type interface to abstract away the use of Future from the primary service interface.  For example, we now generate:

       trait TweetService[+MM[_]] extends ThriftService {
         def get(tweetId: Long): MM[Tweet]
       }

    TweetService$FinagleClient and TweetService$FinagleService would now implement TweetService[Future] instead of TweetService.FutureIface, which hard-codes the monadic type.  This will make things easier when com.twitter.util.Future eventually extends scala.concurrent.Future, as you will be able to write code using the TweetService[scala.concurrent.Future] type which would be satisfied by TweetService$FinagleClient, even if the latter still used com.twitter.util.Future.

   This same generic interface can also be used to implement a synchronous implementation of the interface, you just need to use a non-deferred container type, like Try, Some, or Tuple1.

5) I've updated finagle-thrift's ThriftRichClient to handle these changes, and also re-organized the code to make it more readable.  I'm actually quite happy with the result.

RB_ID=171540
[split] bump scrooge to 3.5.1-SNAPSHOT

RB_ID=172170
TBR=true
Merge branch 'tmp'
[split]  allow trailing comma at the end of a map

RB_ID=169872
[split] scrooge: rename Service$ThriftServer to Service$OstrichThriftServer - fixes breakage under scala 2.10 - also removed ostrichService.java which wasn't used

Once https://reviewboard.twitter.biz/r/172503/ merges, we can probably remove the ostrich code gen altogether.

RB_ID=172506
[split] scrooge-ostrich: search harder for FutureIface The code used in OstrichThriftServer to look for the FutureIface trait was only searching the interfaces of immediate class, but we also need to search superclasses and super-interfaces for when FutureIface is mixed in higher up.

RB_ID=172899
[split] Allow default struct values in the java generator.

RB_ID=172607
[split] Make scrooge plugin find thrift files in idls when run only with reactor projects in a clean env

RB_ID=173004
[split] Need to filter out items that are not set when rendering default struct values.

RB_ID=173158
[split] scrooge: support the scala namespace

RB_ID=173147
TBR=true
[split] Revert "scrooge: support the scala namespace"

This reverts commit 7401a4eee4cec9925e40a3ec111e57a0ee762532.

Fails to compile.

RB_ID=173859
TBR=true
NO-QUEUE=true
[split] scrooge: add support for scala namepsace

RB_ID=174164