fix: do not publish expected vitals in case of error

a refactoring that cleans up the logic of releasing the varz as a step
separate from publishing. In case of error (e.g., bulk api provider
timeout), the varz that were reset to zero are no longer published for
collector to pick up.

Change-Id: Ic08c2a794504bdc5adb2def6aa65037c24d0c95c