remove URI as a run-time dependency

Also remove Path::Class as a test dependency.

In doing so, the test suite now contains a file path with slashes.
Hopefully this won't cause trouble on Windows systems...
remove redundant dependency declarations
rearrange position of docs

Move the documentation blocks around a little to make an upcoming
commit clearer.  No visible changes to the rendered docs.
remove PARSE method definition from superclass

This definition (of an abstract method, no less) is never called upon
and was only ever executed in a test.  If subclasses don't properly
implement the method, we'll certainly find out very quickly.