GRAPH keyword is now added automatically when updating named graphs with a SPARQLUpdateStore
Remove empty named graph blocks in SPARQL update queries (was not ok with TDB)
Context-aware query rewriting added to the sparqlstore.update() docstring
Testcase for literals containing unbalanced braces
More stringent test for injection of GRAPH blocks

The test case now also tests strings quoted with """ and ''', strings
containing special characters like <>#'"\, IRIs containing #, ' and
various other characters, and comments.
Improved update rewriting

In order to find beginnings and ends of blocks, a very simplified
grammar is used. This has the advantage that extensions of the SPARQL
language may work. On the other hand, it may happen that the query
rewriting produces invalid output. The complete SPARQL Update grammar[1]
(including strings containing { and IRIs containing ') should be
supported, given my reasonings are correct.

See #395

[1]: http://www.w3.org/TR/sparql11-query/#sparqlGrammar
Merge branch 'sparqlstore-update-context'

Previously, SPARQLStore.update was forwarding the Update to the SPARQL
endpoint unchanged. This had the unexpected consequence that
SPARQLStore.update with a queryGraph affected the default graph instead
of the given queryGraph. In turn, this caused updates on a context of a
ConjunctiveGraph to not affect the given context, but the default graph
instead.

SPARQLUpdateStore now rewrites SPARQL Updates such that the update
modifies only the given context graph. This is done by wrapping the
content of the {}-block of each operation in a `GRAPH <?> { }`-block.
The SPARQL Update is tokenized using a simplified grammar in order to
always correctly inject the GRAPH blocks.