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.