TreePointer: add .isEmpty()

And test it.
TreePointer: make a copy of the input list

Leaving the "liberty" of letting the user making a copy of the list is too
dangerous.
JsonPointer: add, and test, a .of() static constructor