Dynamic bootstrap

Here's a few changes that I made while using your role.  Including the role 'just works'.  Hosts that don't have Python get bootstrapped, and the others are unchanged.

Changes in a nutshell:
- Just check if Python is available, and bootstrap if it's not
- Always run the bootstrap.sh, as it returns the path to python 
- Only flags tasks as changed when they change something (install Python, pip, etc.)
- Gathers facts at the end so other roles can function as normal