Fixes #856 - Store ++ scala version changes on session.

* Ensure the ++ command stores its changes on the sbt session.
* Make sure `session clear-all` will clear out ++ changes
* Validate that `set` command doesn't undo `++` changes

Note: There is some autogenerated Setting[_] delegate optimisation
      work that could be done in the future.
Add notes for bugfix.
Merge pull request #1489 from sbt/fix/issue-856

Fixes #856 - Store ++ scala version changes on session.