Store::SPARQL reads and writes to Virtuoso (>=6.1.7)

We're probably going to have to chat about this one:

1. I had to add some ugly state maintenance Test::RDF::Trine::Store because I couldn't guarantee an empty store to test context-less semantics. The tests seem to work on the ones that I tried, but I don't have all the backends.
2. Virtuoso doesn't respect `q=` values in the `Accept:` header, which made response handling complicated. At the moment it's hard-coded to JSON because V does some stupid, stupid behaviour otherwise.
3. The net effect is that robust, product-independent HTTP response handling will be very, very complicated. I stubbed out a provision for handling different products, but I have more pressing things to do than fill that all out.

Otherwise, it works.
The problem here is that bnodes come through the sparql-results+xml format as nodeID://… The net effect is that without that line, the SPARQL results XML parser crashes when it tries to create a malformed bnode.