Add Subversion support and standardize source path separators

ScmInfoPluginProjectSpec assumes the source path components will be separated by /, which does not hold on Windows.  I left the test alone and translated the source path coming from the ScmProvider instead.

I added Subversion support, including an untested hook for the [Jenkins Subversion plugin](https://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin).
I previously had it just looking for a .svn directory like the git implementation does.  However when the repository version is newer than the client library supports, the method would return true even though executing any other method in the provider would throw an exception.  Maybe throwing an exception in that case is a good thing because the alternative appears to be to fall back silently to the Unknown provider.  Thoughts?