Refactor daemon.attach()

Also makes streamConfig Pipe methods not return error, since there was
no error for them to be able to return anyway.
Damn, changed these semantics around a bit, forgot to update that!
I'll also wrote some more tests to make sure all the options for attach/attach-based commands are covered.