Parallel copy

Allows you to split a read operation into an arbitrary number of jobs. Pass a `job` parameter to options when using `tilelive.createReadStream` or `tilelive.deserialize`:
```javascript
var readable = tilelive.createReadStream(src, { type: 'scanline', job: { total: 4, num: 1 } });
```

This instructs tilelive to only read tiles that would fall into job `1` of `4`. A complete read would mean four calls each with a different `num`.

Still to-do:
- ~~deserialize shouldn't utilize the same `x % total === num - 1` approach that other streams do. That means deserializing every row before throwing out the ones that aren't part of the current job. It should skip based on row number instead.~~ Done.
- other ideas for tests?