Make auto fill smarter.

Two changes:

1. Doesn't overwrite values in fields if the fields already have values

2. If `last_name` is falsy, but `first_name` is truthy, the name field will get only `first_name` as the value and vice versa. If both are truthy, the field will get a value of both first name and last name.