Tcsh support

This patch adds tcsh support and passes all the scenarios except special_vars. 
If another features uses precmd direnv would be replacing it here. In other shells we try to keep existing precmd functions, I don't know what are the best practices for tcsh.