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.
I'd prefer to leave that block there; it's not harming anything. I've already spent something like 50 hours _just_ on performing surgery to this repo to make things more convenient for you.

I can separate out the changes to the interface into its own branch, but having to go back and take this block out means hours of unproductive labour doing more repo surgery.