Another attempt at fixing literal equality, hash and comparison handling.
Here lexical representations and values are kept separately, but all comparisons happen in value space.

This is keeping the existing rdflib behaviour for literal > < comparisons, here everything is compared based on the value. This means we can do some neat things:

* Compare literals with python objects, i.e. Literal(1)<2
* Compare literals without regard to datatype: Literal(1)<Literal(2.0)

BUT

This means we more completely ignore http://www.w3.org/TR/rdf-concepts/#section-Literal-Equality
Which is quite clear that data-type and lang must match for equality.

Now, to make __eq__, __gt__ and __hash__ consistent this must be true:

>>> Literal('1', datatype=XSD.integer) == Literal('1.0', datatype=XSD.float)
True

Which is probably not what we want.

I belive the neat comparisons will have to go...
old changes
merge with master
reworking literal __eq__ and added eq, rich comparison methods are still random
moved default eq method to Node
merge-master
merge master
fix broken merge
Changed the media type for json-ld (although this is not used as part of this parser, the code is identical to the one used by a general service, so better synchronize this)
Merge branch 'master' of https://github.com/RDFLib/rdflib
Updated the microdata registry to the ones in the W3C mercurial repo
Merge pull request #242 from joernhees/master

doc update for Graph.label and mentioning Graph.preferredLabel
fix for escaping last quote of long literals. fixes #239.
cleanup of notation3.py - removed lots of unused code
Merge branch 'master' of https://github.com/RDFLib/rdflib
misc minor cleanups
added auto-boxing of Resources on add. fixes #215
Merge branch 'master' of https://github.com/RDFLib/rdflib
@content takes priority over @value/@datetime in the RDFa1.1+HTML5 parser
Ensure that parse in ConjunctiveGraph uses a URIRef as graph identifier