[WIP] Small fixes

This is a bunch of small fixes:
-Changed the ending of the 'kill mom' and 'jabberwock' missions so that random NPCs that approach you to help them are friendly after you complete the mission.
-Restored the old mission values, the old value system didn't use cents so it was mostly multiplying everything by 100 to return it to what it used to be.
-If you are wearing the marshal badge, most people in the refugee center will recognize it in their opening statement
-If you persuade a random NPC that you are friendly and initiate trade, the dialogue will close after trading is complete.  This prevents you from having to make the skill check a second time.
-Updated the faction ids so that 'Your Followers' is now defaulted to id 1 and remains hidden until you actually have one.  This shouldn't 'break' saves but could screw them up if people have started actually playing long games with static NPCs on.  Since the factions were previously padded with random factions, it would mean that all the bandits would be friendly and the wasteland scavengers would be hostile (everyone's ID were increased by one).  I'm looking at letting the player perform a difficult skill check to turn a random NPC that is following you and doesn't have a faction into a faction member, allowing additional commands that you wouldn't normally have access to... like the much requested 'don't loot anything' but also possibly the combat commands 'rush there' (prioritize moving there over attacking), 'attack that one', and 'retreat w/ me' (don't attack, try and follow).  They would be shouted so you would be penalized in sneaky situations and all points and targets would have to be visible to you at the time.  Outside of combat, gear would ideally work on a system similar to the player's.  To begin with, there would be a hard cap on the number of faction members you could have (1 or 2) so that you aren't completely bogged down in micromanaging.
A string as faction id is no problem, but don't use the name, use a separate string, like for item types, e.g. "followers" or "your_followers", otherwise people will get name and ident mixed up and the name is (or should be) translated, the ident is never translated. This might actually be very helpful for the starting scenarios, or you could have a world with mostly aggressive factions, the possibilities are endless.

About difficulty: 3cd7ed6c6d8939c14408c273bfbf581a8fce8df9 is an example, it's not complicated. There is a comment in init.h, it boils down to:

- Create a function
      void load_my_object(JsonObject &jo);
- Or a class member function:
      TMyClass::load_my_object(JsonObject &jo);

- Inside that function load the data from the json object.

- Add a pointer to this function to type_function_map
in the function DynamicDataLoader::initialize (see there).

- Create a static reset function and add a call to
that function in DynamicDataLoader::unload_data - this is missing in the commit above, but should be there.

I assume you want to move the content of `game::init_faction_data` to json, in that case you might want to consider #4651.