Feature/add transport structure

Please arrange imports into groups separated by empty lines as follows:
 1. stdlib imports
 2. external imports (with each package grouped together, but no empty lines between different packages)
 3. imports from this project

Since this is closely related to vumi, an extra group between 2 and 3 that contains vumi imports is reasonable but not required. (Just try to be consistent about that). I generally try to keep the modules in alphabetical order within each group, but other arrangements (non-test stuff followed by test stuff, etc.) are also fine.

In this specific case, the `xml.etree` import should move to the line after the `json` import. The empty line between `twisted` and `vumi` imports is fine as long as you include or omit it consistently.