Renamed NetworkError to NetworkErrorKind, wrapped it.

The new NetworkError-type now consists of a NetworkErrorKind and a URL
to identify the source of the error.
Added mkNothing helper function.

mkNothing "" = Nothing
mkNothing t = Just t
Updated catchIO and wrote addNetworkError.

Relates to 8ffdb9ea20b988b362def0574e73517945a12ede, which necessitated
these changes.
Closes #6. Switched from XML.Cursor to HXT for XML handling.

Text.XML.Cursor was not capable of parsing XPath. I replaced it with
HXT-xpath & co.

This entails:
* deleting runXPath and replacing it with toDocument, which reports its
parsing errors in ErrorT,
* switching from Document to XMLTree as the document datatype,
* adding helper functions to XPath: getText, concatText, unTree,
* deleting the now superfluous XPath.at function.
Updated Cyanide and Happiness script.
Merge branch 'master' of https://github.com/jtapolczai/Hephaestos