Only using explicit namespace when deserializing key pb.

This issue surfaced during review for #282.
Adding checks for namespace in datastore helpers test.

This is to ensure that values are correctly ignored when
the field isn't set on the protobuf.
Merge pull request #292 from dhermes/unmarshall-key-namespace

Only using explicit namespace when deserializing key pb.
Refactoring duplicate code between storage.key and storage.bucket.