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.
There is already a user attribute; would it not work to use that parameter?