Remove duplicate URI stripping code from Server.

The Util class has the definitive code for this so use that instead.
Improve readability of the XML fragments.

Both in the code and when printed out, for debugging purposes.
Simplify the Port#fill method.

It was making lots of repeated calls that should have been cached and reused.
Alter deprecation notices from 1.1.0 to 2.0.0.

Now we are using semantic versioning we have promised not to make backwards
incompatible changes to the API unless it is in a new major release.
Add a global complied XPath cache and use for Server.

This simplifies the storing of compiled XPaths and moves the code to strip URIs
out of XML documents to the XML module.

The Server class now uses this mechanism.
Use global XPath cache for Run class.

This tidies up the _get_run_links method nicely as a side effect.
Mini code tidy: Server class.