Add optional 'setup' method for transports.

  This is called once, and only once, when the slaughter script runs.
 This means it is called when the transport is loaded and policies
 are processed by slaughter - it is not called when the
 slaughter-generated script is actually executed.

  This method allows the cloning of a repository such that all required
 files are present when the (generated) script is run.
  Load policies, appropriately.

  We invoke the optional setup method of the transport module,
 and we then process policy expansion in the main script.

  This removes duplicate code from the transports themselves,
 simplifying the API.