[WIP] Effects Update 1

This PR hopes to reestablish some of the basic moddability of effects that my old health PR attempted to accomplish before becoming bogged down.

Edit: Segfaults fixed as best I can tell, thanks to BevapDin for helping to track down some of them!
You check for `jo.has_object(member)` but than you get an array. `JsonObject::has_object` only returns true when the member exists *and* is an array. The json probably contains an array, so `has_object` returns false. Some goes for the `load_miss_msgs`.