string_ref: refine fix non-conforming data() returning null pointer

Using a null pointer internally with the non-null non-dereferenceable
address only as returned from data() eliminates the need for a
non-default copy constructor and operator=.