Promisify CommonJS module

Resolves #314