Working on #284. Updated test_alive.py

+ Update test_alive.py with the new test driver.

We will add the new driver to the base test class once all tests have been converted.

+ timeout is commented out

This is because minion.curly does not handle code 28 (operation timeout error).
This will be a separate issue to handle.
Working on #284. Updated test_xframe.py

+ Update test_xframe.py with the new test driver.

We will add the new driver to the base test class once all tests have been converted.
Working on #284. Update test_hsts.py to use new driver.

+ Replace stunnel with Flask SSL invokcation.

This snippet (http://flask.pocoo.org/snippets/111/)
can be used to start Flask with TLS. A new directory called https_data
has been added to replace stunnel-data. The new direcorty contains
a testing certificate and a testing private key. There is a REAMDE
with instruction to generate the cert and key.

Unfortunately, because we self-signed the cert, we need to disable SSL/TLS
cert verification in pycurl. But I don't want to enable that until I have
spoken to Stefan about this. For now, we know the code works because the plugin
hasn't changed a bit. We will leave it commented out. I really hope we don't
need to assert mozillalabs.com or google.com to test the plugin.
Working on #284. Updated test_xcontent.py
Working on #284. Updated test_xxssprotection.py
Working on #284. Updated test_server_details.py
Working #284. Updated test_robot.py
Fixed #284. Rewrite all plugin tests using the new test driver.

Sumamary:

This final patch abstract common codes into base.py. The code should be
much cleaner to read.

+test_robots.py

test_robots.py is one that doesn't use the /test endpoint. It launches three
instances of Flask servers because to test the plugin we need a server that runs
with valid robots.txt, one with invalid robots.txt and one without robots.txt.

+ test_hsts.py

test_hsts.py test still rely on external sites (mozillalabs.com and google.com) to
test the existence and absence of HSTS header. We can't launch a local HTTPS server
because minion.curly.get will do certificate check. I need to speak with stefan about
allowing curly to receive an option to enable or disable verification on each call.

- cold boot

If we try to run multiple test files together there will be failure. This seems to be
race condition, the fact that some servers have not been terminated. This is a regression.
One way to solve this is to provide a test runner script that invoke individual test file.
I will file another bug to look at this issue but for now I know each file runs perfectly
fine.
Merge pull request #285 from yeukhon/issue#284

Pull request for #284 to rewrite all plugin tests