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)
```

@jrajav i don't agree with both.

1. "replace with function" is very well known pattern for everyone, who care about js regexps. For others there is comment, that help to learn js better. Also, this pattern is significantly faster on big matches count. I don't like blind following abstract principles instead of good knowledge of applied instrument.
2. $ will make pattern more difficult to understand and will not improve speed. That's subjective criteria.

IMO, this code is effective, easy to read and easy to understand.