Add 'ignore empty' option for trailing spaces and respect ignores.

Many times, if there is an empty line between two lines of code, that empty line will actually be indented to the block-level of the code it's sandwiched between. I don't consider this bad, or a code-smell, in any way, but the current trailing spaces option complains (making the option unusable).

This PR makes two changes:

* Instead of just true/false, `trailingspaces` can be set to `'ignore empty'` in order to ignore lines which _only_ contain whitespace.
* The trailing spaces now respects the `ignores` option. It doesn't make sense to me why the indentation check respects the ignores, but the trailing spaces check does not. This was also a problem for me.