Function for automatically generating a unique ID from first/last name

Generates names like `last.first`, or `last.first.1` if `last.first` is taken. Converts to ascii and drops unicode so people with accents/umlauts could see some interesting results.

Names that are entirely unicode are not supported.

I put this in roster.py but can move it anywhere that seems more appropriate.

Fixes swcarpentry/admintool#1.