Adds a refresh menu item

This is a continuation of @victorgama's pull request #2786 to add manual refresh to the project tree (addresses #3124).

Changes since that pull:
* null out `_lastSelected` when refreshing (avoids an exception)
* restore selection after refreshing
* more accurately determine when tree is done refreshing (this is the tricky bit)
* move the "Refresh" context menu item to the bottom below a divider, since it's not specific to the currently selected file/folder as the other items are

Not urgent, but would be nice to get this functionality in so extensions can request the tree to manually refresh as well (e.g. #3252).

*Updated:* removed it from the project dropdown since we're no longer putting functionality there