Enable per-file trim-trailing-whitespace and ensure-final-newline settings

This change will allow per-file overriding of settings handled by the TrailingSpacesStripper class. The specific motivation for this is to support the [editorconfig-jetbrains plugin](https://github.com/editorconfig/editorconfig-jetbrains). For an example of how this extension to TrailingSpacesStripper can be used, see [the EditorSettingsManager class in the "future" branch of the editorconfig plugin](https://github.com/editorconfig/editorconfig-jetbrains/blob/future/src/org/editorconfig/configmanagement/EditorSettingsManager.java).

I'm not sure if the TrailingSpacesStripper class is the best place to keep the new UserData keys and string constants that I introduced, so please feel free to change where those live and I will update accordingly.

Also, I have done some basic testing to make sure that this patch works well with my plugin, but I am having some issues running the IntelliJ test suite. I have been in contact with one of your developers about this patch, so I will work with her to make sure that the patch doesn't introduce any regressions and that my new tests work okay. I just wanted to go ahead and get the pull request out.