Implemented TabExpandeUI class

This class allows to cycle through and render possible tab expansions.
If there is just one expansion, it's chosen.
If there are more expansions, first the common prefix is chosen, and afterwards
the TabExpander will cycle through the possible solutions, highlighting the selected
one.
TabExpansion can be aborted with Escape.

getline.cs diff might be bigger than the actual logic changes as it's style was a little
bit asjusted to the project convetions.
Implemented TabExpansion in Pash

Pash has now working TabExpansion and searches through commands and the filesystem.
Multiple choices in TabExpansion can now be navigated by using the arrow keys.
Include 'cd' command in FileSystem tab expansion
Better cmd splitting with quotes, neglect hidden files
Basic support for variable and function expansion
Support for cmdlet parameter expansion
Small rendering fixes
Added support for scope prefixes, more logic
Fixed rendering bug
Added support for paths with tilde
Rendering fixes and fixed colwidth for suggestions
Aborting tab expansion softly if asking user and a key is pressed
Added file for tests; user interface usage improvements
Added tests, fixed minor bugs
Fixes concerning slashes on windows
Reversed a change introduced accidentally
Merge pull request #264 from sburnicki/tab_expansion

Support for Tab Expansion