Adds autodetect versions to the application

Requires some changes to the sanitation of the GET variables, and
the other checks that a version is a valid IATI version.
Slight css change and associate tags added to html to make Auto Detect
fit into the selection box.
Unit tests altered so that test xml has versions and an auto detect test
has been added.
Fails have not been added as tests yet.
Ooops forgot to add a new function file to last commit!
Adds a news message to the front page about autodetect
Adds better messages to users about version detection

Needs tests writing, but test xml has been added to the tests
directory that we can use.
Updates the tests so that they check new features

Also removes an old file that has been replaced by previous commit
Also updates previously failing test