Basic Perforce provider

Should look and feel like the other SVN/HG/etc... providers.  I had to add a few Perforce specific parameters and support for Workspaces.  I may need to enhance the use of Workspaces later, but this should get most Perforce users started.
Would this be more clear if it was called `workspace` or `p4workspace` instead?