Adding Identifiable functionality

Allows use of arbitrary ActiveModel-like models in ActiveTriples.
Refactoring Identifiable to remove ObjectResource

A special class is unneeded, Class.new(AT::Resource) works fine.
Also removed duplicate property delegation.
More thorough constant cleanup in Identifiable spec
Get rid of the singleton_class stuff. Create a builder object for creating the accessor methods
Adding spec to verify backwards compatability

The spec asserts what the documentation states, and highlights that
the #properties method behaves in the same manner.
Merge pull request #54 from jeremyf/no_singleton_class

No singleton class
bump version
Bump version to 0.3.0
Update Properties to fix config_by_term_or_uri

Also adds missing tests for properties method.
Add the ability to disable casting of RDF::Resource
Protect Term#rdf_subject

Terms having public rdf_subjects created a pitfall users accidentally
trying to work with Terms instead of their member values. This tightens
up the API to prevent confusion.
Merge pull request #57 from terrellt/feature/CastingOption

Add the ability to disable casting of RDF::Resource
Removing code that was not called

Tests pass without this line. It does not appear to be necessary.
Merge branch 'removing-unneeded-code'
Adding array setters for terms

Previously setting a value by array index would fail silently. Now you
can set properties with []= (e.g. ```subject.title[1] = 'A title'```).
Accept terms passed into #set_value

Passing a term into Resource#set_value previously resulted in
unexpected behavior. This fixes that to set the current property to the
term's values, as though from an array.

Conflicts:
	spec/active_triples/resource_spec.rb
Refactoring tests for array setters
Merge pull request #46 from no-reply/feature/term_array_setters

Adding array setters for terms
Merge pull request #62 from no-reply/feature/protect-term-subject

Protect Term#rdf_subject
Replace accessors with ActiveModel hooks