At the moment it is not possible to construct your own promises in the Cloud Code. We are evaluating the possibility to incorporate a library that will greatly facilitate the creation and execution of asynchronous logic in the cloud code layer.
Regarding the large number of callbacks. At the moment you can declare your functions in the current scope and return a promise from them. Then, chain the promises until the task is resolved to avoid the use of callbacks. Please, find my answer to a similar question here
Let me know if I may be of any further assistance.