cache folder name in addition to repo name

* instead of checking for existence of repo var in app.CACHE, check if
 CACHEFILE exists and is a file, then use try-catch block to see if
 VariableNotInFile error is raised when accessing repo and repo_dirs from
 CACHE, pass any other errors, then check if repo is still empty before
 logging debug info - if VariableNotInFile thrown, catch it and display
 cache is corrupt then clear cache by calling app.clearRepoCache
* set RepoPopup UserData to {}, not sure what default is, but we'll use to
 store repo-dirs, aka folder name.
* when filling in popup menu with repo names also fill UserData with
 folder names
* when clearing cache and clearing RepoPopup, also clear UserData
* in both saveRepoCache and openRepo get folder names from UserData, save
 them in app.CACHE.repo_dirs
* add some comments
* append new folders to UserData cell array
* refactor redundancy - repos and repo_dirs get calls same for both cases
* don't need to parse foldernames since repo name is already in popup menu
* log debug info about folder name of git dir
* in JGit.m class, warning suppression is no longer needed, so remove