swift2thrift: Fix type ordering bug

When a type A depends on a non-completely-resolved type B, type B is
added to a list of "known" types (in addition to emitting an error
message) so that other classes that also depend on B don't emit the same
error message again.

However this behavior means that a non-yet-completely-resolved type B
may appear as "known" to another type C and thus C's .thrift code is
emitted before B's code has.

This change fixes the bug at the expense of more verbose and repeating
error messages in case the input is not valid.
swift2thrift: Fix bug after parentService -> parentServices change

The generator threw an exception trying to access parentService
generate async client java code

Summary: generate async interface inside sync interface

Test Plan: build and generate nocron client

Reviewers: andrewcox

Differential Revision: https://phabricator.fb.com/D1165794
add builder for immutable interface

Summary: add builder for immutable interface. Otherwise I need either to use bean like setter/getter. @lif didn't like that....

Test Plan: generated interface: https://phabricator.fb.com/D1165799

Reviewers: andrewcox

CC: lif

Differential Revision: https://phabricator.fb.com/D1178006

Task ID: 3638666