tab completion system

commands and files (to a basic extent atm) can be auto completed into
the command line by pressing tab.
added type declaration to rm command
fixed createFile to disallow duplicate names