Update regex and name list checking

- Update regex to allow multiple capitalized names before surnames
- Update regex to require at least one capitalized surname following a
non-capitalized part of a surname (i.e. in toponymic or patronymic surnames)
- Add logic to check individual words against the name list and check
individual parts in word chunks to validate the entire chunk or just parts of it