Bug 1027725 - Make calendar app async operations use promises

so, lets kill the duplication and add the `denodeifyMethods` helper? I find it easier to read and later we can update it if needed in a single place (like binding).