Implemented #21: Add possibility to override/extend comparison behavior

This is quick and dirty implementation for #21. Many things are left to be done.

What is done:

* Extracted interface ```JSONComparator```
* Extracted all logic from ```JSONCompare```, now it is more like "service"
* ```JSONCompareResult``` now uses StringBuilder internally instead of String concatenation