Implemented RDF::Query::HashPatternNormalizer class

In prior versions of RDF.rb, the hash pattern for an instance of
RDF::Query must be given in normal form. With this update, hash
patterns may be given in non-normal form, and are automatically
normalized, with anonymous nodes created as necessary.
Added RDF::Query::HashPatternNormalizer to README.md
Added missing "return" annotation to RDF::Query::HashPatternNormalizer#options method
Simplified arguments for "normalize_" methods.
Generalised RDF::Query::HashPatternNormalizer::Counter to allow any Numeric type.
Removed explicit "return" statement from "replace_hash_with_anonymous_subject!" method.
Re-factored "anonymous_subject_format" option
Ensure that results of "anonymous_subject_format" do not override existing patterns.
Test "acc" (not "hash") variable for duplicate key.
Full coverage of edge cases for duplicate subjects (given the specified "anonymous_subject_format")
Modified return type of increment and decrement counter methods.
Changed "options" to instance variable get.
Added RSpec for RDF::Query::HashPatternNormalizer class
Renamed "normalize" method to "normalize!"

It raises an exception.
Merge pull request #101 from markborkum/master

Implemented hash-pattern normalization