datastore: disallow invalid UTF-8 strings
datastore: disallow invalid UTF-8 strings

Proto strings should be valid UTF-8. The result of sending
an invalid one as a property value is an Internal RPC error.
Provide a better error.

It's possible that some invalid UTF-8 strings are processed
successfully (they shouldn't be, but we can't be 100% sure without
trying them all), so this change may break working programs.

Fixes #632.

Change-Id: Ida24683ec1487ffe708d695026d296ff4f95c2ce
Reviewed-on: https://code-review.googlesource.com/13510
Reviewed-by: kokoro <2ac7b1f3fa578934c95181d4272be0d3bca00121@google.com>
Reviewed-by: Ross Light <dfccc06f14414bff5a59be7fc90abf4404b47fc8@google.com>

googleapis/google-cloud-go,googleapis/google-cloud-go,googleapis/google-cloud-go,googleapis/google-cloud-go