This time my hunch is pretty solid because the language part of the character settings comes before the species part does in load order, and the additions here kinda do rely on character species being present prior loading, so jamming a species load up here would at least fix that problem.
* Checks list length after input() returns so you can't cheese it.
* Sanitizes list to proper length so existing characters over the limit will be fixed.
Begins breaking down the large character setup in more manageable modules, allowing for easier additions, edits, and removals.
(cherry picked from commit e116721977)
Conflicts:
code/modules/client/preferences.dm
code/modules/client/preferences_savefile.dm
polaris.dme