Make sure all switches between working set and file tree are displayed.

I've got a couple of fixes in one here, because I wanted to make it easier to test the behavior together. What I realized is that I was prematurely optimizing by trying to avoid recomputing the offsets for the project-files-container. That change alone cleans up various "selection highlight is in the wrong place" sorts of bugs. Additionally, I caught an instance where the FileTreeViewModel wasn't signaling a change (because the treeData didn't change but the selectionViewInfo did), so I fixed that to work in a more predictable manner.

Also, one problem was that newly created files weren't being selected which caused funny behavior. Rather than just selecting the file, I selected it and added to the working set (which fixes #9294). It was just a matter of choosing one function call over another.

This now fixes:

* #9225 
* #9312 (I couldn't reproduce, but this should be fixed because of the premature optimization elimination)
* #9340 
* #9344 
* #9343 
* #9342 
* #9337 
* #9294 

cc @ingorichter @RaymondLim 
OK, fixed.