Mostly fixed Bananaphone transport AND Add unit tests