Complete refactoring of the pickling API and logic.

Picklers are now assembled rather than implemented. See the factory methods in SbolRdfPicklers and examples of use in CoreRdfPicklers.
Cleaning up imports.
Added top-level javadoc.
Renamed RdfRelationshipPickler to RdfPropertyPickler as I keep naming it that by accident which I take to be a sign.

Documented the factory methods in SbolRdfPicklers.
Added documentation to CoreRdfPicklers.

Finessed variance for various pickler combinators. This mainly means injecting `? super` into the right places.
SbolRdfPicklers is now clean of all warnings.
Documented ResourceMaker.
Moved the static inner classes of RdfPropertyPickler out into a nested .impl package.
Moved static inner class of the ResourceMaker interface out into .impl.
Javadocs for PropertyMaker.
Moved the ByName static inner class of PropertyMaker into .impl.
Moved all static inner classes of RdfEntityPickler into .impl.
Renamed SbolRdfPicklers to RdfPicklers.
Added some minimal package documentation.
Documentation of the .impl package contents, and some very minor code tidying.
Merge branch 'feature/rdf-pickler' into feature/system