Add multiexpand API with pipeline support, falling back to connection re-use.

@eam at the very least, WDYT about adding `multiexpand` method? If we want to add new endpoint to server in future we can switch out the implementation.

This change doesn't help that much (really we want SPDY/HTTP2 for multiplexing), but is better than nothing. I half-heartedly tried to run some benchmarks but response times are just all over the map anyways that it overshadowed any improvement with my short run times. I did confirm it was working with debug logging.

For reference, grange supports pipelining, crange doesn't. (that's just what the out-of-the-box HTTP servers are doing, I didn't change either of them.)