* Allow Functions to be called without Auth.
This was a regression from previous functionality, but is reverted
mostly to the old functionality. Previously `context` would be `nil` in
the completion handler if no Auth was available, but now `context` still
contains `instanceIDToken` but no `authToken`.
Also cover unit tests for the three states: no auth, auth error, and
valid auth.
* Style fixes.
* Cast Auth fake to prevent warning.