Re-organised directory structure
Unified the modules behind a master api,
Added explicity dependency checking,
Refactored the APIs to be promise-oriented.
Added additional source transform options
and sperated the source transformation in to separate work items.