__init__.py: Use content instead of text; add error checking; add groups for user
__init__.py: Use content instead of text; add error checking; add groups for user

This patch does the following:

 * It adds some additional logging and error checking. When an exception
   is thrown in an authentication module, you typically get little information
   from review board other than you can't log in. This patch adds some extra
   error handling and logging to help narrow down problems.

 * We now are a bit more pessimistic about what the form gives us, and we
   strip more things.

 * Users who are 'new' - that is, crowd knows of them but review board does
   not - now auto-join all default groups that they can join. At least for
   Asterisk - which uses a single review group - this is a better user
   experience, as they can automatically see all reviews upon logging in.

 * The requests library returns information about the user as JSON under
   the 'content' attribute, not the 'text' attribute.

asterisk/reviewboard-crowd