Fix handling of basedir in 'rbt patch'

Depending on the version of the Review Board server and the particular
repository type, the returned diffset object from the API may have no basedir,
may have a basedir of None, or may be a string. In the first two cases, we want
to normalize this to an empty string.

This also handles a None repository base_path.

Testing done:
* Ran 'rbt patch'
* Ran unit tests.

Fixes bugs 3360 and 3365.

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