document: provide a generalized navigation API
document: remove the document(reader) constructor

Clients should use the document(reader, metadata) constructor to
ensure the metadata needed for document::navigation() is extracted.
If a client does not need this, they can always pass a throw-away
rdf::graph object.