Added removePrecedesRelationship to libsbol interface
The Python class that wraps SequenceAnnotation.precedes was downcast from ExtendableSBOLObjectArray to SBOLObjectArray as a workaround.  The reason is because SequenceAnnotation.precedes implements a removal method (destructor called from the owner) in addition to an add method (constructor called from owner).  Similar classes in libSBOL only implement add methods, so the ExtendableSBOLObjectArray only typemaps their add method.  As a temporary workaround, addPrecedes and removePrecedes methods were patched on this commit.
Added isUpstream and isDownstream to SequenceAnnotation
Updated interface to include getters/setters for DNAComponent->Type and remove methods for DNAComponent->annotations and Collection->components
Implemented DNAComponent.type property in high level Python wrapper.  Also implemented getter/setter for SequenceAnnotation.subcomponent
Added lookup of SBOL objects by URI (similar to python dictionaries).  Added remove methods