Make crypto_utils backwards compatible with python-crypto on CentOS 6.4

CentOS ships an older version of pycrypto by default, with the newer version
only available in EPEL. This change makes Review Board work with either.

Testing done: Was able to get ReviewBoard to work on CentOS 6.4

Reviewed at https://reviews.reviewboard.org/r/4769/
Fixes bug 3110
Fix review requests becoming private after discard, reopen, close.

When marking a review request as discarded and then reopening, we force
the user to complete a draft and publish it, since the typical reason
you discard is that you've thrown away the review request, and reopening
means you're starting over on some aspect of it.

Sometimes, the discard is accidental, and a user will fix this by just
closing it again as submitted. Unfortunately, the act of reopening marks
it as not public, and that state remains when marking as submitted.

We now mark a review request as public if it's closed as submitted.

Fixes bug #3103
Merge branch 'release-1.7.x'