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 is a long old story dating back to 1995.  There is no standard URL style syntax for Perforce.
I had thought about p4:host:1666/files/depot/you_file_or_dir, but this would confuse a lot of Perforce users who are more familiar with //depot/you_file_or_dir syntax and a separate port field.  Perhaps I could use both and parse the source path or use the `port` value if set.