Cherrypick changes from the properties branch

Cherrypick changes from the properties branch that is not properties or forms specific

![](http://www.sicfitscottsdale.com/wp-content/uploads/2013/09/cherrypicking.png)
Maybe a short explanation for the methods what the definition of what *blank* and *blank line* is so that it is immediately clear which one is best for what. Because personally I have to look up if `\s`also includes line breaks or if it is only spaces and tabs.