Raise an error if data could be lost from singularizing a list

When a property is set to `multiple: false` and we find more than one
statement for the predicate, then raise an
ActiveFedora::ConstraintError.

This should help prevent users from losing data that is not written using
ActiveFedora.
Should this be:

```ruby
     property :title, predicate: RDF::DC.title, multiple: false
```