Further flesh out -add path
Further flesh out -add path

Still missing varied error handling on the other side of the solve; need
a bitfield to represent all of the state properties we infer about each
spec argument.

golang/dep,golang/dep,golang/dep,ibrasho-forks/dep,ibrasho-forks/dep