First pass at the `complex' interface

The general idea is that you create a New remctl instance, and
then Open a connection to a remctld host. Calling Execute
executes the command, and you listen on the instance channels
for Output, Error, Status and Done communication. Internally,
remctld output is gathered in a goroutine and send back over
the appropriate channel.
Make Output and Error structs have public members

We need them to be public to use them outside of this package.
Change string types in Error and Output

Go strings are immutable, no need to pass pointers.
Set open after Open is called
Fix logic error after calling remctl_commandv
Add an example for the `complex' interface