Bring in Jonathan Stoppani's branch

Merge SMAC:feature/master/7286 into current puppetlabs:master
Back out broken parts of SMAC's patch and implement new method

Overload self.cmd to detect virtualenv resource and set path
accordingly. Don't change binary name based on osfamily fact as
RPM package appears to install both pip and pip-python binaries.
Make change to virtualenv param to add validation
Add a debug line
Work on clearing up errors
remove hard-coded /usr/bin/pip and replace with call to which(), in appropriate conditional for RedHat pip-python
#7286 got it to actually install into the venv using the right pip binary. unfortunately (but obviously I guess) self.instances/prefetch won't pick up any packages in venvs
WIP, broken but getting closer, I think...
looks fixed (and working?) for the NON-VENV case
PUP-1062 code is messy I'm sure, but this seems to be working
move which back to its former locations to satisfy rspec; remove extraneous duplication of parsing method
add rspec for new venvcmd method, fix install and uninstall venv rspec tests
PUP-1062 rspec written for pip provider and simplecov reports 100% coverage of the provider, but I think there are still some branches missing...
update to new pip project website
add output of the non-existant path to error message
PUP-1062 remove extraneous debugging comments left in pip_spec
remove unneeded virtualenv param on self.instances
change validation of package type :virtualenv param from extant file to absolute path; add spec tests for validation