Add docs/conventions.txt.
Add string -> slice<char> / slice<const char> implicit conversion ops.

Just like in vector.
Follow conventions, move private macros from error.hh to _utils.hh.

Also add a couple of helpers for future use.
Remove error.hh as a dependency from slice/string/vector. Use _utils.hh.
Add generic copy function for slices and test it.