move IO classes to their own package, and clean up code

Moving all io to its own package, as it was getting difficult to find all the related files.
( Could potentially also be useful for moving this to its own project ).
Fix for issue #156 "Remove Deprecated read in RDFReader"
Fixed different parsers and serialisers to work with relative URIs.
The individual commits in this Pull Request are mostly all very self contained, so it may be easier to look at the commits one by one, to see a number of closely related patches.