Handle empty bodies in GET calls to cloud_dns

Occasionally cloud dns API will return an empty body on a GET call.
Retrying immediately usually resolves this, but in the case that doesn't
work raise a specific exception.

cloud dns manager and client both had their own GET calls, so both had
to be replaced.

Some tests were mocking an empty body for get calls, which started
throwing exceptions with this new code, so those tests had to be
adjusted to put in something for the body, even if it is not used.