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.
Add note that cURL extension for PHP should be enabled
Split wiki history generator out into separate file

This is to enable it to be called from regen.php without having
to shell out to php.
regen.php no longer needs to shell out to php
Add note about how to setup the github service hook

The service hook for changes to the wiki has to be configured manually
via the github API. This is because the standard web hook configurable
through settings for the crosswalk-website project does not send
notifications for changes to the wiki.
Invalidate the cache for wiki pages changed on github

The regen.php script will get called by the hook each time a
gollum (wiki) event occurs on the crosswalk-website project wiki.

We now loop through the changed pages notified in the event, and
remove the cached HTML for any which have changed.
Fix PHP cURL instructions for Linux

*.dll is for Windows, should be *.so.
Choose an HTTP GET approach based on capabilities

Rather than expect a particular implementation to be available,
iterate through the possible approaches to fetching URLs until
we find one which works.

Preference is given to cURL, followed by fopen (if allowed by
the PHP configuration), then shelling out to php cli which invokes
fopen (allow_fopen_url doesn't matter for php cli).

This is quite nasty, but I didn't want to remove the cURL
implementation as I'd like to be able to migrate to this if we
can get the server configuration changed.
Fix arguments to fopen

The stream context needs to be the 4th argument; the 3rd argument
is use_include_path, which we can set to false, as we are always
fetching from remote locations with HttpClient.
escapeshellarg is not suitable when fetching URLs

Using escapeshellarg on a filename before passing it to the HTTP
client doesn't work, as it produces URLs like this:

http://localhost:4567/'documentation/00-Getting-Started.md'

which are invalid.