Clean up indentation and remove commented-out code

This is preparatory to replacing the http client code.

Note that this changes the script's behaviour so that it no
longer shells out to the 'php' command: instead, we use a
client which doesn't need allow_url_fopen to be set to true
in the first place.
Make function to wrap URL-opening fopen() calls

This is preparatory to rewriting the code to open URLs using
something other than fopen.
Add an HttpClient class

This gives the benefit of being able to read the proxy.config
file in once, rather than for every request.
Handle missing proxy.config error properly
Switch to cURL instead of fopen
First pass at caching wiki page fetches
Add caching based on file mtime (5 minutes)
Provide an error message if directory is not writable
Ensure missing() is given a file name
Use print() instead of echo() for consistency
Write HTML files out for 'documentation' and 'contribute'

This is necessary for when the gfm.php script is being used
to generate the live static site.