Adapted get_first_name to be explicit about what gender value required

It seems wrong that `names.get_first_name(gender="other")` now randomly selects a `"male"` or `"female"` gender value without telling the developer. Given the discussions about gender in tech I think it's better to be explicit about passing in `"male"` or `"female"` and only selecting a random value when `gender` equals `None`.

To view this differently: as there currently are only male and female lists of names, it's better to let those who use the `names` package decide rather than letting the `names` package accept seemingly arbitrary gender values.