Factors out behavior from ActiveFedora::Rdf::ObjectResource to mixin
ActiveFedora::Rdf::Persistence.

The change allows any ActiveTriples::Resource descendant which includes the mixin
to be used as the resource class for an ActiveFedora::RDFDatastream, rather than
requiring an ObjectResource subclass.

Conflicts:
	lib/active_fedora/rdf.rb
	lib/active_fedora/rdf/object_resource.rb
Remove ObjectResource from RdfDatastream

Introduces a better interface for using existing Resources to back a
datastream. Removes ObjectResource and related singleton_class calls.

Pins to ActiveTriples 0.4.0, which restricts property names for
Resources & RdfDatastreams to those not already used by a method on the
class (prevents overriding `class`, `graph`, `repository`, `name`,
etc...).
Merge pull request #535 from projecthydra/at0.4.0

At0.4.0
When cleaning, handle the case where the base_path is 410
Remove FedoraLens dependency
Use a string for class property keys

ActiveFedora::Base.class.properties are strings, so getting and setting
them should use strings for the keys. When setting values,
ActiveTriples::Resource won’t save the value, so we call it as a method
on the base object directly.
Raise error unless orm.new? fixes #409

Raise an error if we’re initializing a new ActiveFedora::Base object
using an orm resource that isn’t new. In other words, we don’t want to
create new objects with URIs that already exist in the repository.
Merge pull request #539 from projecthydra/existing-pid

Raise error unless orm.new? fixes #409
Merge pull request #538 from projecthydra/attributes

Use a string for class property keys
Create a separate resource class for each ActiveFedora::Base subclass
This ensures that the schemas from different AF::Base subclasses don't
end up merged onto the ActiveTriples::Resource class
Merge pull request #543 from projecthydra/generated_resource_schema

Create a separate resource class for each ActiveFedora::Base subclass
Refactor the associations to follow developments in ActiveRecord
Merge pull request #551 from projecthydra/refactor_associations

Refactor the associations to follow developments in ActiveRecord
Convenience methods from Rubydora

Fedora3-based applications used these methods from Rubydora. We're
including them here to avoid NoMethodError on existing applications
Merge pull request #554 from projecthydra/has_content

Convenience methods from Rubydora
Deprecates usage of #pid in favor of #id.
The method is defined in ActiveFedora::FedoraAttributes and includedin ActiveFedora::Base.
Replaces references to "pid" in other method names and comments with "id".

Closes #407.
Merge pull request #537 from afred/407-deprecate-pid

Deprecates usage of #pid in favor of #id.
load_instance_from_solr should be able to handle object associations
Fixes #542
Make resource_class a class method to avoid multiple declarations of GeneratedResourceSchema
Deprecate SolrService#construct_query_for_pids