Weight soldier looks by namefile

This pull adds a new function that reads in values from the .nam file, and adds a lot of case handling to ensure we have either random or intelligent weighting, even when extra looks are added by modders. It can handle having too few or too many weights. For now the function is called with a hardcoded four looks passed so it just returns values for the four default looks.