New: Added no-trailing-spaces rule (fixes #995)

`on` perf:

```
CPU Speed is 2261 with multiplier 7500000
Performance Run #1:  2922.464079ms
Performance Run #2:  2915.99096ms
Performance Run #3:  2871.693ms
Performance Run #4:  2842.881841ms
Performance Run #5:  2869.45368ms
Performance budget ok:  2871.693ms (limit: 3317.1163202122952ms)
```

`off` perf:

```
CPU Speed is 2261 with multiplier 7500000
Performance Run #1:  2874.2219999999998ms
Performance Run #2:  2815.7648ms
Performance Run #3:  2869.23876ms
Performance Run #4:  2908.95748ms
Performance Run #5:  2862.79916ms
Performance budget ok:  2869.23876ms (limit: 3317.1163202122952ms)
```

Our conventions favor maintainability over performance. I understand this may be the way you've done things in the past, and you've already formed an opinion about the approach. When accepting contributions, we need to optimize for many people editing and reading code (without previous exposure to it), which means we need to be pickier about the patterns we use. 

In this case, I think we need something that is clearer to a novice developer.