[swift2thrift] Pass javadoc comments through

Adds a ThriftDocumentation annotation that can be applied to services,
structs, methods, fields and enums.
Also introduces a JavaDocProcessor annotation processor that will save
javadocs on ThriftService-, ThriftStruct- and ThriftEnum-annotated classes
to specially-named mirror classes with ThriftDocumentation annotations,
e.g., the javadocs for Foo are saved to Foo$swift_meta.

Original code by tim <twilliamson@gmail.com>, modified, bugfixed and
extended by me.
[swift2thrift] Maintain stable order of ThriftService methods

Method ordering in the generated .thrift file is defined by the first
rule below that matches:
- Explicit @ThriftOrder annotation on the method
- Same as order of definition in the Java source if compiled with
  swift-javadoc's jar in the classpath
- Sorted lexicographically