[FLAPI-188] annotations for marking up an existing helper
interface for use in generating a new descriptor
[FLAPI-188] descriptor configurator for configuring a
descriptor
[FLAPI-188] Adjusts the way helpers (and all types)
are generated, so that a user-provided helper can be used
in place of a generated helper. Previously a custom helper
was required in order for everything to work, but now a
'weakType' can be created for helpers, which reflects the
internal modeling of the external user type.
changing to guava method to continue supporting 1.6
[FLAPI-188] annotation introspector, for building up a flapi
descriptor outline from annotated classes provided by the
user
[FLAPI-188] ensure that only methods marked @Last return
anything; all other methods should have return type 'void'
[FLAPI-188] small change to move block naming to an
annotation, rather than the configuration builder
[FLAPI-188] disallow duplicate method quantifier annotations
by inspecting all of the method's annotations and looking
for those marked with the @MethodQuantifier meta-annotation
Refactors DescriptorOutline to extend BlockOutline rather than
contain it. This simplifies some of the code by treating the
descriptor like a first class block (which in truth, it is).