relying on signals to ensure that there's always a profile record
turned out to be a bad idea; django social auth signals are poorly
architected for this; and so it doesn't work. Catching exceptions
worked just fine, so I went back to that. Homepage and twitter buttons
now show only if they've been entered in settings. Twitter handle works
with or without '@' entered.