Merge to latest, rewrite save/load code to new json save/load & legacy sstream loader, using autogenerated legacy_vpart_id vector where needed.

Since I'm the one who's been running amok like a bull in a china shop in the save code, I figure I'd do the work of adjusting this.

Tests OK with save/load in origin/master, as well as loading a save from 0.8. I've not tested SDL so I don't know if the SDL crash you mentioned is fixed or not.