Phar file support

This adds a Phar file, a script to generate the Phar file and extends the test suite to be able to test the Phar file.
Phar files are easier to download and update for users because it's a single file rather than a bunch of them.

Be sure to run the create_phar.php script on each update.