Expand and collapse folders recursively

Directories may be expanded or collapse recursively by holding `alt` when using
the keyboard or mouse. Incorporates pull request #88. Addresses issues #19 and #88.
Would it be possible and make sense to merge `expandDirectories` and `expandDirectory` into a single method `expandDirectories: (isRecursive=false)`? Same thing for `collapseDirectories` and `collapseDirectory`.