Shell autocompletion

Added basic auto completion for shell that can recognize files and programs. Tapping tab key twice will print all the possibilities
Hmm, why the `"/" ..`s? Or rather, why not `"^" .. pattern`? Won't this potentially match things that just *contain* the current text (which I don't think it should)? Ditto for the `file:match`, should probably also start with a `^`, no?