Package[Handler] etc. redesign

This abstracts all commit / load behaviour out of `Package` and delegates it to the apporopriate transport handler. This handler is chose by package's transport type - which can be set internally, or if not set, the legacy one is used.

This is precondition for adding another transport type 'amd' later, for require.js loading / require.js paths based committing.