rewrite FaceGenManager and rename it to 'FaceParts'

FaceParts improvements relative to FaceGenManager:

  - Random face generation (part selection) is separated from display.
  - Individual parts can be set manually with the remaining components
    randomised.  Part selection should be stable for a given seed, so
    fixing one component and regenerating with the same seed should not
    change the other components.
  - Somewhat shorter, simpler code.
  - The number of parts provided for males and females no longer has
    to match.
  - Any individual part image can be tied to some arbitrary combination
    of species, races and genders (e.g., you could have some clothing
    or some accessories [eg, tattoos] that are tied to a particular gender
    or tied to a particular race/gender combination, etc, and other
    items that can be used by any race and gender)

FaceParts also gets rid of the face backgrounds, because they're not
really necessary, the only backgrounds we currently have are ugly, and
it didn't make much sense to me that backgrounds are tied to particular
species (they should be tied to ships & stations, I think)
delete all the facegen backgroun images
FaceParts: restrict species to folders starting with "species_"
FaceParts: add a single background image used for all faces

(image by @nozmajner)
Move StarSystem slave cache from Galaxy to Space.
FillCache callback was not called when all objects already existed before.
Debug output.
Merge pull request #3193 from lwho/more_cache_unification

More cache unification
Update Changelog.txt
Merge remote-tracking branch 'jpab/face-picker'