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.
This appears to use hard tabs for indentation. Could you please update it to use 2-space indentation to match the ruby standard? Thanks.