Only change indent when pressing { or } when >1 line is selected

The use case is code like:

    if(foo)
        statement;

If we want to add more statements (under the if block) then we need to wrap the statement in braces but don’t want the indent changed.

Likewise we may be left with a single statement in the block and prefer the non-braced version.
Strip trailing whitespace when inserting/removing comments

Trailing whitespace can happen when removing comments from empty lines (with indented comment markers) or when the comment marker itself has whitespace and is inserted on an empty line (e.g. prefixing empty lone with ‘# ’).
Merge remote-tracking branch 'upstream/master'