comments
skip numpy test when numpy is not present
s/DeviceCommander/DeviceSender/

because we're going to give that name to something else (and Sender is
the standard Parsley Protocol term.)
some reorganization, got rid of ClientFactory boilerplate.

thanks endpoints.connectProtocol!
playing code sokoban or something I don't even know

(this is not what needs focus right now)