Added optional urlfield in user profiles

Great idea, @tessie!  This is a good way of addressing the duplicate code. I would suggest changing the name to something different from `URLField` (e.g., `MyURLField`) so that when it is referenced in the code elsewhere there isn't confusion about whether it is the new customized URLField or the original built-in URLField.