Fix signs not updating on player leave
Avoid warning when deserializing missing players list

Empty string gets deserialized to nil (what we want).
nil gives a warning (and also gets deserialized to nil).
Make initial text consistent
Do not mutate given definitions

They may be shared.
signs_lib.standard_wood_groups for example IS shared, so it got mutated
and all signs that used it got treated as last_login_signs, overwriting
them all.
Add cc to LICENSE file too

as requested by the cdb reviewer