Better JSON 2.0 batch support

Replaces the undocumented, doesn't-really-work ```_batch()``` call with a ```batch_()``` method.

Named ```batch_``` to avoid potential conflicts if a JSON-RPC server uses "batch" as a method name. (not ```_batch``` because ```_foo``` is the Python convention for non-public methods).

Builds on #31