Create Profile and sync_leads: fix bug 1012904

Move choices from UserRegistrationLeadForm to Profile model
Create or update Profile in UserRegistrationLeadForm.save()
Use Rest API and sync updates to salesforce leads
Sorry, I can see how that line of code was a little too dense for easy comprehension (and sorry again for the bad pun ;)

For both aesthetic  and (minor) performance reasons, I prefer dict comprehensions to instantiating an object and conditional mutation via setattr; how about this compromise instead?
```python
def map_non_empty_lead_values_to_profile_fields(lead):
    return {profile_field: lead[sf_field]
            for sf_field, profile_field in LEAD_PROFILE.items()
            if lead.get(lead_field)}

# ...

        profile = Profile.objects.create(
            user=user,
            **map_non_empty_lead_values_to_profile_fields(lead))
```