Modify logic for picking a default username value when lis_person_source...

...did parameter is not present.  It's believed that this should only be the case when user is added directly in Canvas UI and when admins switch to "Student View" mode.  Use custom_canvas_user_id (or user_id) with a class-level defined prefix in order to have a shorter field to get past a bug where the Test Student username was longer than 30 characters.
So, I think this backend class was inspired by the Django RemoteUserBackend component which has a clean_username function that can be overriden.  Ultimately, we might want to have this backend extend RemoteUser.  In any case, I think we should just leave it there for anyone who needs to subclass.