Python 3, PEP-8, docs, and more

I've done a fair mount of refactoring to the script here. Some of the highlights:

- less dependent upon a specific filesystem layout
- should work with both Python 2 and 3 now
- reduced redundancy in a few places
- added a check to see if haproxy is installed before running
- restarting haproxy directly with the subprocess.call function, rather than using it to call a shell script
- some PEP-8 items
- lots of docstrings... I hope they're accurate enough for you