[fidl][cpp] Unify StringPtr nullity semantics

Previously, is_null() and operator bool() disagreed about the nullity of
a non-empty string with the is_null bit set.

This inconsistency was introduced in fxr/136820 and was previously fixed
for VectorPtr in fxr/148924 but never fixed for StringPtr.

Test: fx run-host-tests fidl_cpp_host_unittests
Change-Id: Ife7119c100bd171cb6b097bed24c96a3bb2cec24
3 files changed