Gender appropriate character names

Sometimes male characters got female random names, or vice versa. This has to do with calling getName from NameGenerator::generateName.
```c++
    uint32_t baseSearchFlags = male ? nameIsMaleName : nameIsFemaleName;
    //One in four chance to pull from the backer list, otherwise generate a name from the parts list
    if (one_in(4)) {
        return getName(baseSearchFlags | nameIsFullName);
    } else {
        //~ used for constructing names. swapping these will put family name first.
        return string_format(pgettext("Full Name", "%1$s %2$s"),
                             getName(baseSearchFlags | nameIsGivenName).c_str(),
                             getName(baseSearchFlags | nameIsFamilyName).c_str()
                            );
    }
```
Here baseSearchFlags that contain the setting for gender are extended with other possible flags. Correspondingly, in NameGenerator::uint32_tsFromFlags there should be a check for a match on all search flags. For instance, a male full name instead of a female full name. This PR modifies the check so that all search flags have to match.

I did some quick tests to see if this doesn't get in the way of other name generation. Did not find anything wrong, but I am not sure if this doesn't break anything and will test some more.