Fix escaping of strings containing ISO characters.

PHP 5.4 changed the default encoding for htmlspecialchars and
htmlentities to be UTF-8, but doesn't use default_charset until 5.6.

This commit wraps all uses of these two functions. Fixes #581.
Tweak convertURL bookmarklet for size.
Add correct character encoding to new-style output.
Put back photo attribution on representative pages

This was lost in the MP page redesign, and has to be present as a
condition of displaying some of these photos.

(Some code changes in this commit were by Mark Longair.)
Formally require PHP 5.4 or above.
Update configuration example to detect already defined constants.

Prevents a barrage of warnings under test conditions.
Move to Codeception for testing.
Basic acceptance tests for key pages.
Move old PHPUnit tests to correct location for Codeception
First pass at installing Apache et al on Travis
Remove redundant phpunit.xml
Make the dependency installer executable.
Write logs to the output during testing.
Richer output during bootstrapping tests.
More useful Xapian documentation.
A (currently failing due to button id) test for entering a postcode.
Prevent debug trying to perform array to string conversion.
Update Composer depencency versions.
Update Vagrant permissions to allow script running from within the VM.
Update PHP minimum version, make Codeception version more specific.