Switch to URI for decoding.

In an attempt to implement a streaming decoder later on, switch from data-based
parsing to URI-based parsing.
Add preliminary support for interop faults.

See #4 for more information.
Still missing:
- The code defines the interop faults, but it does not use them yet.
- Proper support for document encoding (see #8).
Fix harmless typo in Faults.
Support encodings (#8).

Add support for encoding processing.
The document's encoding is retrieved from HTTP headers.
Fixes #8.