[CodeIssues] Add some support for analyzing declaration spaces.

Also update RedundantThisQualifierIssue to use it.
[CodeIssues] Don't suggest removing 'else' keyword if it would cause a name clash with a sibling declaration space.
Improve the formatter

* Fix a bug with overlapping changes

* Implement blank line indentation formatting (indent/don't indent/don't change)

* Implement EOL whitespace removal

* Reduce the amount of redundant changes that the visitor creates

All these changes are more or less interwoven so there is little to no way of splitting
it into several commits.
Merge pull request #289 from mono-soc-2013/simonl/issue-fixes

More assorted fixes