bugfix: Player map preference retains dirty state on rotation.

I left the debug logging in, just as a guide for creating other custom
preferences in the future, since the lifecycle of a Preference is so
piss-poorly documented.  I'll remove it all on the next commit.

Dirty state is retained "the Android way" using Parcelable objects.
This is explained here:
http://developer.android.com/guide/topics/ui/settings.html#CustomSaveState
and can be seen in Android's implementation of EditTextPreference:
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.1.1_r1/android/preference/EditTextPreference.java/

Basically it's a giant PITA and turns an otherwise tidy piece of code
into a bloated, steamy pile of dog doo. So I stuffed as much as I could
into a separate class, SavedStringState.  While I was at it I made one
for integers as well.  Others can be parceled using the same pattern.
cleanup: Removed logging in PlayerMapPreference.java.

See last commit message for why the logging was there.