Massive refactor to fix protocol buffers.

So this took quite a few hours. It was a massive pain because the
goprotobuf library has a few patches that need to be applied from the
issues. Basically what it boiled down to is that the generated code was
incorrectly creating the imports.

This also is a change for the relative paths. A lot of time went into
just looking at the Makefiles provided by several people. But in the end
patching the library worked best.
Fix issue with Cli call with slice.

Incorrect assumption on the input parameter type.