Initial porting of Java SDK

This is the initial porting of the CollectionState.java and GedcomxApplicationState.java files. Also includes a port of Tavis.Link to perform extension reading (Tavis.Link writes extensions in hypermedia links, but ignores them on read). The ported project is added to the main solution, and only contains the Tavis.Link project (and no other original projects/sources). The proposed structure is more of a one-to-one map to the Java SDK.