Fixes to Option2 Classes and others

Hi Ernst,

I made some fixes and modifications to the library as per our discussion today. Namely, I've given both the option1 and option2 SequenceComponent classes a Collection of sequence type URIs and pulled them out of the constructors for these classes since having a sequence type isn't mandatory under this scheme. Furthermore, I've removed Sequence-related classes from the parameterization of the component classes in option2 since these aren't included as part of a Collection in a SequenceComponent and hence can be handled by inheritance without parameterization. I've also pushed all precedes methods on Annotation-related classes down to the non-abstract leaf classes (to avoid circular parameterization) and corrected the comments on these methods. Lastly, I've made a few minor corrections such as removing the Collection of PortMap instances from the Module class and having Protein Annotation inherit from SequenceAnnotation instead of OrientedAnnotation