Java codebase cleanup.

User-impacting changes:
-- AddressData: Deprecated getAddressLine1 and getAddressLine2 in AddressData, along with the Builder constructors (replacing with .builder() method in the address data class. Similar with setAddressLine1 and setAddressLine2.
-- AddressProblemType: Renamed enums UNRECOGNIZED_FORMAT to INVALID_FORMAT and USING_UNUSED_FIELD to UNEXPECTED_FIELD.
-- FormOptions: Removal of baseId and setter/getter methods.

Code improvements:
-- Handling custom field order in FormOptions
-- Normalization of address lines
-- Util - checkNotNull now returns the object being checked
-- NotifyingListener - the wait code has been fixed.

Other changes:
-- Extra tests
-- Documentation changes
-- Making classes final
-- Var name changes
-- Whitespace and line-break changes
-- Replacements in some locations of Android logging with standard Java logging.
I'm pretty sure these two methods should be static...