Support for ?.n temporary variables

We use the ?.n form when doing aggregation, as does Jena. I added a small change to allow this, but reworked the sparql specs to allow for more. There are some UTF-8 issues on Rubinius and JRuby, which I just commented out. I don't think it's too important.

Could you pull this and push it out to rubygems?