Support creating string from slice

If I do std::string str(slice.c_str()) I don't get a proper string for some reason. It seems like the c string is missing NULL termination. I assume that is on purpose?

The only way to create a proper std::string is as shown in this commit. This should be part of e so people don't get it wrong.