No clobbers and cleanup

This is a large PR unfortunately, but it cleans up a lot of accumulated warts.

It assumes that #503 is going to be merged.

It mostly adds conditionals around things might overwrite user settings or steamroll other plugins' or users' mappings (did I mention that I _hate_ that?)

There are few parts where I corrected things that were implemented strangely, so if someone was depending on that broken behavior, like testing for 'x' to determine platform, then there might be a visible change. It's for the best though :)