Utils: Split Promise functions into own modules

addPromise and defer have own modules to avoid overwriting properties of the
global/imported Promise

Utils/Promise is imported by other modules as SIPPromise to avoid namespace
collision

Utils.Promise is still defined for use by tests