Turn dependency dupes into errors

We see a bunch of dupes pop up in dependency lists in our internal repos. Often they go unnoticed by whoever should be fixing them. They also make each parsing of the build graph quite noisy for the rest of our users.

This branch turns those warnings into errors. That ought to ensure they're caught early by whoever added the duplicate dependency and they won't hit master.

Testing Done:
ci.sh passes
tested against a dependency list with dupes

Reviewed at https://rbcommons.com/s/twitter/r/1332/
Sync of https://github.com/pantsbuild/pants/commit/8ebf6391d160d96b45e76bd5a6ce8063bd746ad1