Jbau/shib bugfixes

@brianhw 

2 bugfixes from our hotfix on Stanford's prod today.

1st was that the flatten_to_ascii function wasn't handling `str` input properly.  That has tests to show the fix does now

2nd was that the `@cache_if_anonymous` decorator on `_signup` was causing that view function to not be run sometimes.  But since the function writes the ExternalAuthMap to the user's session so that the later POST from the registration page can access it, this caused registration failures since things like email which would be supplied by the ExternalAuthMap were missing.