Extract transport creation from client constructor

This is to make subclassing the object easier.
Make Taco server module object-orientated
Add basic test scripts