Add "Trim Whitespace" to the sandbox.
Rip out Trim Trailing Space.
Break out of callback hell.
Use an object to avoid global state.
Merge branch 'master' into trim_whitespace
Drop sessionbeforesave eventbus.
Don't delete newlines at end of file if cursor is there.
Create a presave handler for the sandbox.
Fix Configuration:Preferences:Toggle Trim Whitespace On Save.
Cleanup handler toggling logic.
Presave not guaranteed to happen before saving.
Push Configuration:Preferences:Toggle Trim Whitespace On Save into Sandbox.
Abort if preference not set.
Use config.togglePreference everywhere.
Merge branch 'master' into trim_whitespace
Rip the other Whitespace toggle out of the core.
Alphabetize commands.json.
Split the stripper into a stripper and an autostripper.

One gets used for manual invocation, one gets used for autosaving.
Define the Stripper class in a more conventional style.
Implement getCursorIndex and setCursorIndex for the sandbox.