ORDER BY and value comparison fixes

As mentioned in the [issue #15](https://github.com/ruby-rdf/sparql/issues/15) from the original sparql project repository, only the first ORDER BY criterion was taken into account. Also, there was no predefined order between blank nodes, IRIs and literal values (or lack thereof) as described in the [SPARQL recommendation](http://www.w3.org/TR/sparql11-query/#modOrderBy).

I've fixed both issues and written some non-regression tests for them. I've also updated a MIME type in a Unit Test (change necessary with the latest version of the rdf-turtle library).

To sum up:
* Changed application/turtle to text/turtle in a unit test for the latest version of the rdf-turtle dependency
* Added the predefined order between special value type:
  1. (missing value)
  2. Blank nodes
  3. IRI
  4. RDF literals
* Taken into account multiple ORDER BY criteria (through the order operator)