Bug 1027725 - Make calendar app async operations use promises

(it's good that we can unit test it)