Remove erroneous handling of IntegrityError from higher level API classes.

The `IntegrityError` is thrown by the lower level graph manager classes
when there is an ID collision, but the `BundleDAO` converts this into
a `ValidationError` to simplify the create-or-update API. However, some
method signatures where not updated to reflect this, so higher level
classes have to handle it.

This has now been fixed by removing the use of `IntegrityError` from
the `Crud` interface, and from all the places that handled it. Annoyingly,
only because the CRUD view classes conform to an interface was this not
a compile error (handling an exception which was not thrown.)