Improve error handling when validating CVS repositories.

Any CVS repository validation error would appear to the user as a
"repository not found," even if the repository was found but the
authentication credentials were bad. This was less than helpful.

We now log the full error returned by 'cvs version', and we look in it
for an authentication-related error. That is then raised as an
AuthenticationError, with the details of the error shown to the user.
That can help a lot with tracking down the real problem.

Reviewed at https://reviews.reviewboard.org/r/6059/