Issue with json type comparability

Although json type returns true for ``isComparable()`` (#1857 is still open btw) it doesn't properly implement ``hash()``/``equalTo()`` methods. So #1855 still fails with the 0.84 release. In addition, json type is not ordered but it implements ``compareTo()``. This PR implements the ``hash()``/``equalTo()`` methods and removes the ``compareTo()`` method.
``getObjectValue()`` is called at many places, so can't be sure whether something will break if I fix change it to return the backing ``Slice``