Don't crash on CString.len() if the buffer is null

CString tests for a null buffer before all of its built-in
functionality, except for .len(). This is inconsistent. As long as we
allow CString to behave sanely with a null buffer, .len() needs to
behave as well. To that end, make .len() return 0 on a null buffer.