Add support for more svn features

Extended svn provider to allow for sparse checkout of repositories
which in turn allows single files to be checked out. Alternatively, an
export can now be specified to keep the resulting files out of version
control.

To add these features most of the svn provider had to be rewritten to
account for the case of a single file checkout. The specified path
value is now used directly rather than relying on the at_path function
to figure out revision details.

File permissions can now be changed using an added mode parameter and
specifying an octal mode. Finally, if credentials are specified then
automatically trust server certificate. This prevents the checkout from
failing if the server uses an untrusted cert.