Fix terrain.trap (lava, pits, etc)
* Make ter_t.trap neutral via initial assignment to std::string pointer,
  iterate through terlist after json load to set from string or warn if invalid.
* Reduce code size by use of termap via trapfind, remove redundant trap_id_from_string
Small UI fix

I think this fixes that bug:
Apply BORDER_COLOR to the borders of Missions menu, plus some astyling of function list_missions
Merge bugfixes.