Installer now checks that required PHP extensions are available
Move error-to-exception handler to shared init file
Removed repository registration from install.php and added testing job generator
Move book page images to nicer URLs (images/$id)