Allow user-customization of the default SVN backend.

Users may end up having both PySVN and Subvertpy installed on the same
system. A previous change had SVNTool favor PySVN over Subvertpy, but
it's useful to be able to specify which one specifically should be used
(especially for development and testing).

The list of possible backends is now specified in
settings.SVNTOOL_BACKENDS. It can be overridden to choose a different
backend (even a custom one, in theory).

This will also form the basis of new multi-backend unit tests.

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