#1628

Rebase wip/no-blankies to current branch
I am thinking we need to do some cleanup here....

1. We have .sbt refactoring code in `SessionSettings` that feels like it's somewhat unrelated to that class *specifically*.  We also have this new `SessionSettingsNoBlankies` with specific refactoring utilitites.
2. Most of the `.sbt` Parsing/Compiling/Refactoring code should get moved into an internals package (if it's new) so that we can limit what we expose (in .sbt 1.0, a lot of these "public" APIs will become private, so it's not so painful to modify behavior when making improvements).


That said, I think I'd like to rename this file to "SbtRefactorings" or "ConfgurationRefactorings" and slide more of the code out of the SessiongSettings class and into here (albeit without breaking binary compatibillity.

@ajozwik Do you think the method names would be altered if we viewed this as a generic SbtRefactorings utility object.