Update for new namespacing rules

This requires temporarily switching to new versions of some upstream
libraries.
Name our errors after the library

This prevents all sorts of annoying name collisions with the standard
types, though we may decide to tweak this further in the future.