Store the universe of known types in an ordered BTreeSet (#374) (#433)
The set of types is used in multiple places during FFI creation. When
the data structure does not guarantee the order of elements, such as
HashSet, the resulting generated source code is not deterministic. Using
a BTreeSet resolves this issue by providing a well-defined element order
over which the the set may be iterated.
Co-authored-by: Matthew Finkel <sysrqb@torproject.org>