Fix in TestUtil, add settings for MoreUnit
Additional example data for performance tests

Add an exemplary caliper output file that contain some very long
strings. Turns out that minimal-json does not handle this case well
in its current form.
Add benchmarks for using a reader and a writer

Performance of reading from a reader / writing to a writer may differ
from reading from / writing to a string.

- add separate benchmarks readFromReader / writeToWriter
- let measurement methods throw exceptions directly
- save results to a file
Use a factory to create different JsonRunners, add test

This keeps the instantiation of the different JsonRunners out of
the benchmark code.

Also add a test to ensure that all JsonRunners work as expected.
To make this test work with maven:
- update pom dependency to junit 4.11
- move resources to /src/main/resources
Create a framework to display benchmark charts in HTML files

Introduce CaliperRunner that runs a given benchmark using caliper v0.5
and transforms the resulting JSON to a simple, generic format.

Create JavaScript file that displays benchmark results in an HTML page
using d3.js. CaliperRunner creates an HTML file along with the results.

* Remove result.json file from repository. Since results depend on the
  execution environment, results should not be kept in the repo.
  Results are created in the results/ directory by default, which is
  excluded by .gitignore.

* Remove caliper.sh, benchmarks should now be run using CaliperRunner.
  Update README accordingly.

* Add jshint config to project.

* Cleanup unused dependency from pom.xml.
Reuse Jackson object mapper in benchmarks

Reusing the object mapper improves Jackson's performance. However, this
setup might lead to unrealistic results because Jackson uses caching and
in the benchmark every subsequent run will result in a cache hit.

See http://wiki.fasterxml.com/JacksonBestPracticesPerformance
Improve reading performance by using a buffer

Create BufferedTextReader to read characters using a buffer, keep track
of the reading cursor position, and capture regions of the input.
Minor refactoring: turn static methods to instance methods

- Stop passing the field `current` as parameter to static methods
- Remove a redundant check in method skipWhiteSpace
Minor improvement to reading of strings

Introduce shared method for reading strings that is used for both JSON
strings and object names. This avoids creating JsonString instances when
reading object names.

Reuse StringBuilder once it is created.
Use string length as buffersize when reading from a string
Improve writing performance by writing Strings in chunks
Review how Buffered Readers and Writers affect performance

Benchmarks show that wrapping an existing Reader in an additional
BufferedReader does not improve reading performance, as the parser
already uses a buffer internally.

In contrast to that, using a BufferedWriter can dramatically improve
writing performance. However, the JsonWriter should not wrap the given
writer in a BufferedWriter itself, as this would add a significant
overhead when the given writer is already a BufferedWriter or a
StringWriter.

Add respective advice to JavaDoc of readFrom(Reader) and writeTo(Writer)
methods.