MB-7884: Don't creating a string from a NIL pointer

When running SmartOS I got a coredump in strlen() called
from one of the constructors creating a string out of a null
pointer. According to my copy of the C++ specification the
constructor with the char* requires the pointer to be a
non-null value.

Change-Id: I7ec7de7f294a9be7a2d398b7942969e0aa30c904
Reviewed-on: http://review.couchbase.org/24709
Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Tested-by: Michael Wiederhold <mike@couchbase.com>