Fix problems when adding invalid users to target_people via the API.

When doing a PUT on the ReviewRequestDraftResource, if find_user() returned
None, that would be added to the relation, generating a database error and
aborting the transaction. In production this worked OK but it didn't from the
API unit tests.

Now, after find_user() is called the return value is tested; if None then it
throws an ObjectDoesNotExist exception and skips getting added to the database.
In update() it checks for invalid_fields, which will contain target_people if
no user was found and returns a webAPI error of INVALID_FORM_DATA. So the HTTP
response gives an informative error, and None never gets added to the database.

Testing Done:
The unit test asserts that find_user() returns null, then checks that
find_user() is called, checks the response code for 105 (INVALID_FORM_DATA),
and that there is no TransactionManagmentError thrown by the database.

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