When persisting a graph, use exceptions for invalid operations

Previously, we inserted exception information into a RDF model for future
(possible) use, and relied on the client to check it. Instead, we should handle
this exceptional case using exceptions, which may be aggregated by some
consumers (e.g. JcrPropertyStatementListener) into a single exception.