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 your bench is not correct. Running plain match will not give you offset in string. It's useless for this plugin task. Alternative is calling exec multiple times, and i doubt, that result will be so good.

@nzakas, i respect your requirements and see that eslint code quality is outstanding. Just understand me right - i have no primary goal to be esling contributor. I just try to share my acheivements in limited timeframe, and kick task out of my stack. Multiple iterations with microchanges are time consuming. I just have to move forward, doing another tasks, which really can't be done without my efforts. Like indentation check (393) and other deals, not related to eslint.