Simplify player modification checks

When playing in singleplayer I noticed that my player wasn't being saved.  I checked the code and found it's modification checking logic convoluted, so I redid it with a simple boolean instead of a bunch of backup objects.  My singleplayer game is saving players now.

Conflicts with #1511.