Refactor description document wrapper

This is a sizable PR. Here's the breakdown..

* Changes behavior of `Openvault::Pbcore::Ingester#ingest` when the `:replace_if_exists` flag is set. Before, it would replace the Fedora object no matter what. Now it will only replace if the updated pbcore requires that that the object be reclassified as a different model.
* Refactors `Openvault::Pbcore::DescriptionDocumentWrapper` into a new class, `Openvault::Pbcore::OpenvaultAssetUpdater`. It's a little more semantic in class/method naming, and it gets cuts out some cruft.
* Gets rid of the `:ids` option for `PbcoreDescDoc` factory; use `:all_ids` instead.
* Gets rid of typo directory `spec/models/datasream`.
@afred: This seems weird: It looks like you have an empty begin block, so nothing should be happening, much less an exception. Perhaps you meant to trap an earlier block? (Also, I think StandardError is the default.)