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