Refactor RDF::Query::Solutions to be a module, and change RDF::Query#execute to accept a block or return an Enumerator, which is extended with RDF::Query::Solutions.
This addresses the inconsistencies between Queryable#query and Query#execute noted in issue #122.
Changes for Writer validation and canonicalization.
* When writing, if the :validate option is true, raise an error when attempting to write any statement which is invalid.
* When writing, if the :canonicalize option is true, attempt to canonicalize each statement when writing. Raise WriterError if any canonicalization attempt fails.
* Canonicalizing a statement only attempts to canonicalize terms which are not frozen.
* Move default #canonicalize and #canonicalize! to RDF::Value.
* More migration of RSPec patterns to 3.0 expectaion behavior.
* Improve statement validation to require Resource for subject and context, URI for predicate and Term for object.
This addresses issue #126.
Default validation on for NTriples/NQuads writers.
Merged 'develop'.
Merged 'develop'.

Conflicts:
	spec/query_solutions_spec.rb
	spec/query_spec.rb
Update README with new RDF::Query::Solutions behavior.
Finish QueryEnum
Add more tests to verify that Query#execute is equivalent to Queryable#query.