StackSender.Send never returns a nil value

Fix StackSender.Send to always honor the `W` and `R` modes, by:

1) returning a valid Sender and Receiver when the respective flags are set, and
2)  returning a value which doesn't need to be Closed, when they are not.

This also moves `NopSender` and `NopReceiver` out of `utils`, to prevent
a circular dependency.

Signed-off-by: Solomon Hykes <solomon@docker.com>
Merge pull request #14 from shykes/pr_out_stacksender_send_never_returns_a_nil_value