Expose 'missing'/'deferred' in 'Connection.lookup'/'Dataset.get_entities'.

If 'deferred' list is not passed, the connection retries any keys in
a deferred response.

Closes #306.
Remove note about sleep.

@pcostell says not to bother.
Move copy-deferred-keys-to-request logic out of 'Connection.lookup'.

Addresses @dhermes comment:
https://github.com/GoogleCloudPlatform/gcloud-python/pull/429/files#r21997643
Squash checks of protobuf call headers into helper method.

Addresses @dhermes comments:
https://github.com/GoogleCloudPlatform/gcloud-python/pull/429/files#r21998236
https://github.com/GoogleCloudPlatform/gcloud-python/pull/429/files#r21998714
Document that / lists passed as arguments must be empty.
Enforce that / lists passed as arguments must be empty.
Dead chickens on the altar of pylint/pep8 continuation taboos.
Merge pull request #429 from tseaver/306-connection_lookup_missing_deferred

Expose 'missing'/'deferred' in 'Connection.lookup'/'Dataset.get_entities'