Tab drilling

This patch adds additional abilities to the tab key to expand directories based on the currently selected entry.
1. If the user didn't type anything, tab now expands the directory name of the selected entry.  Before it didn't do anything
2. If the user typed something, tab now expands the directory one after the other while maintaining any other expansion that happened before