Add the validator from the Distributed Array Protocol.

Or: subtree merge is hard, let's go shopping.

Instead of trying to use git's subtree merge to pull in the entire `validator` directory from the distributed-array-protocol (#262), this just grabs `validator.py`, renames it to `protocol_validator.py`, and plops it into our `externals` directory.

This mimics how we have included `six` in externals.

Closes #217.