JSON context and subdoc have the same methods

* optional path and callback arguments everywhere
* insertAt(), getAt(), etc merged into insert(), get(), etc
* at() changed to createContextAt()