Merge `validator` from distributed-array-protocol

... into externals.

This will allow us to more easily check data structures defined in the distributed-array-protocol.

Closes #217.