Removes 'bp' dist type; makes padding optional for block.

As discussed in issue #29, this removes the block-padded distribution type, and makes the padding k-v pair optional for block.

* If `padding` is present in a dim dict, then the protocol guarantees it's present in all dimdicts for that dimension on all processes.  The value can be `(0, 0)` to indicate *this* local array section is unpadded, and that the other arrays may be padded.
* If `padding` is not present in a dim dict, then it is not present in any other process' dimdict for that dimension.