change compile helper return promise

This updates the compile helper to pass its callback arguments using the node convention of an error as the first arg and a successful return value as the second. This allows easy usage with `node.call` which is used for example in https://github.com/carrot/roots-contentful/commit/cbfa46660d554be835b05e2e9edb8e71f95b42da