1. Add descriptive messages on cause of error.
2. Fail if two inputs have same remote name but different local names. And if
there is an output with same remote name.
3. Fail if two outputs have same local name but different remote names. And if
there is an input with same remote name.