Better JSON 2.0 batch support

Replaces the undocumented, doesn't-really-work _batch() call with a batch() method.

Suggestions on a name other than "batch" (which could theoretically conflict if a JSON-RPC server exposes a method named batch) or _batch (which would be a non-public method according to Python naming conventions) welcome.  Maybe:   foo.batch_(...)

Builds on #31