Make pip stuff nicer

This PR uses ensure_packages to install a bunch of packages to avoid conflicts with other modules, and ensures that pip is installed before any provider => pip packages are installed.

It also updates the Modulefile to make librarian-puppet happy.