Better support for block padded and block cyclic distributions

Driven by @markkness's usecases, these fix bugs and better support block padded and block cyclic dist types on both the client and local sides.