Add AnonymousUser case to display_name test case
Tweak the __unicode__ method to be more resilient

We're seeing raven fall down when calling __unicode__ on Profile which
turns around and calls __unicode__ on User which for some reason doesn't
have a username.

This handles that case and if there's any exception thrown there, it
does a goofy thing and shows the profile id and the exception it kicked
up when doing unicode(self.user).

The purpose of this is to give us some information about what's going
on, but mostly to not create cascading errors which raven possibly
doesn't handle well.