Make tests self-hosting

* Add wptserve as a submodule for serving HTTP files

* Add pywebsocket as a submodule for websockets

* Add a serve.py script that initalises the test environment
  with the servers running on free ports

* Remove all PHP from the repository and replace it with
  wptserve-compatible python

* Remove all .htaccess files from the repository and replace
  with .headers files

* Some additional fixes to tests that were otherwise broken

* Add bugs to tests (probably) that need to be identified and
  fixed in followup commits.