Fix test runner and instructions

Previously the tests were not able to run due to import issues (missing setup.py) and were all broken due to an SSLify change.

Next step is to add Travis, but this gets the tests working, separates the test requirements, and fixes a variety of PEP issues.

@kaushal @zheller