Major refactoring of SP_test

The functional changes are as follows:
- Uses a mock IdP instead of a fully functioning IdP. This allows much greater flexibility in testing, e.g. it allows you to test the SP's reaction to a malicious or broken IdP. The mock IdP will allow you to return any SAML Response XML in the appropriate manner.
- Create a lot of builder classes which can be used to generate SAML XML. This allows us to define the metadata and the responses in the test case or test suite itself, making them much more verifiable. It also means that the people creating the test cases only need to know about SAML, not about how saml2test works.
- Requires much less configuration from the user. No more IdP configuration required since the mock IdP is used and any unnecessary configuration options were removed
- Logging can now be configured using the dict specifications from python's logging.config module. Allows much more fine-grained control over logging.
- Changed the test case specification format to allow more test cases to be run
- Changed the test result format so it better reflects the new test case specification
- Restructured the modules
- Removed all unnecessary code
- Added better recognition for successful logins. It is now user-configurable and can match against HTTP status codes, session cookies and page content.

Though this breaks backwards-compatibility for sp_test, the idp_test should still work exactly the same. 

The SP_test should also still have the same functionality available as before, but usually with a different name or format. The only limitation is that only the HTTP-Redirect and HTTP-POST bindings are implemented for the mock IdP. However, sp_test has been refactored in such a way that this can be added later on without any problems. I added TODO comments wherever this applies. The HTTP-Redirect and POST bindings are fully functional though. I have tested this extensively.

I added a separate HOWTO in the doc folder with detailed instructions on how this new sp_test can be used. It should provide sufficient information on usage, but the code itself also has plenty of documentation. 

I hope this gets merged without any problems. I think this refactoring should make it much easier to create test cases for saml2test as well as make the code more maintainable.