Add a zstr() method to StringView that returns a zero terminated string holder
Use StringView in shell manager
use StringView::zstr() in place of StringView::str().c_str()
remove unused memoryview<char> String::data
Use StringView in id_map
Use StringView in FunctionGroup and FunctionRegistry
Use StringView in CommandManager
Preserve current word in word completion if found elsewhere

If occurence count in the buffer if greater that one, do not
remove it from the matches.