Small improvements in indentation

Inspired by @sschaef's work on indentation, and since I spent enough time to understand how indentation works, I fixed two long standing (and very annoying) indentation bugs:

* after assignments of string (or char) literals
* after typing `else` without braces

The current indenter needs a rewrite, and this is just a stop-gap solution. However, the additional tests are valuable on their own, and it's still fixing a very common case.

This PR depends on #651, so I will probably need a rebase when that's merged. Please review only the last commit.