Add a warning when the developer's function does not return a Promise or actual value.
Add a warning when the developer's function does not return a Promise or actual value.

This fixes a regression introduced long ago when we added our own Promise wrapper in
the SDK. Because our SDK always returns a promise, we cannot rely on the Cloud Functions
environment to emit the warning log.

As a minor cleanup, I rewrote makeCloudFunction to use await/async. This hopefully makes
before/after much easier to read because it uses try/finally.

firebase/firebase-functions,firebase/firebase-functions,firebase/firebase-functions