Fixup Dependencies to be mainly target-type agnostic.

The only dependency now is a mapping of known payload
types that represent external dependencies.

Expand the unit test and improve it to verify ordering.

Testing Done:
Travis CI went green here: https://travis-ci.org/pantsbuild/pants/builds/32980244

Bugs closed: 499, 501

Reviewed at https://rbcommons.com/s/twitter/r/920/