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
* also add it to the project dropdown--I know we're going to be rejiggering the contents of this soon; this is just a place to put it for now

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).