Updated promise.CallbackList to allow only one resolution
Refactored promise.Deferred in order to allow passing function to promise.Deferred.__init__. Such function will be called internally after Deferred object will be initialized and deferred object itselft will be passed (as keyword argument 'deferred')
Added tests that ensures immutability of Deferred responses
Added License
Added promise.Promise class with tests
Added method promise.Deferred.promise() with test
Added implementation for 'promise.when' helper function
Added list of objects to be imported when 'import all' (*) is used