Changes to P4 source step

* Ability to not automatically have a `...` suffix to each client-spec
line
* Ability to specify different client spec options
* Ability to specify custom arguments to the `sync` command line
* Fixed some bugs where the `p4base` was used directly in command lines
even though it could be `None` if a custom client spec was specified.
* Fixed a bug where the `timeout` option given to the `P4` step wasn't
passed on to the `RemoteShellCommand`.
* Added unit tests
* Updated documentation
Fixed pyflakes error