API Hash autologin tokens before storing in the database.

Backported from 3.0, cc423c38fbc6755f4e29024590c1b42092b3a621.
Added travis support
Added README with build status
Added cms to travis requirements
Excluded or removed tests relying on actual webserver routing

The "sanitychecks" group excludes through phpunit.xml.dist.
Removed RestfulService->testHttpErrorWithoutCache()
since its not sufficiently isolated in terms of testing.
Has been refactored in 3.x, but too intrusive to backport.

Changes mainly necessary to get Travis builds passing,
since we don't want to start mucking around with
dynamically generated file-to-url mappings just to
get *unit* tests passing - as opposed to integration-testing
the whole environment incl. webserver.
Merge remote-tracking branch 'origin/2.4' into post-2.4

Conflicts:
	security/Member.php
Fixed travis settings for post-2.4

Should switch to $TRAVIS_BRANCH once that's deployed
on the travis-ci.org infrastructure
Added composer branch alias
PHP 5.4 Compatibility (Array To String Conversion Notice)

Merged code from SS3.0 branch to get rid of an instance of the "Array
To String Conversion Notice".
Merge pull request #1013 from prembo/post-2.4

PHP 5.4 Compatibility (Array To String Conversion Notice)
BUGFIX Adding SapphireTest->usesDatabase to enforce database schema (re-)build even when no $fixture_file is present (the test might still read/write database records manually)
BUGFIX Don't bother looking up ancestry for classes not found in manifest in ClassInfo::ancestry() (becomes a problem with PHPUnit's getMock() method)
MINOR Added CSSContentParser->getXML()
BUGFIX Don't include *all* classes when doing a coverage report. It's not necessary, and breaks third-party requirements that are included manually.
BUGFIX Remove arbitrary restriction of template processing in Email->parseVariables() to HTML emails: Plaintext emails can also have templated content
MINOR Added transactionStart() and transactionEnd() methods to MySQLDatabase to work with payment module using the old notations
BUGFIX Check that the 'locale' param has a value before assuming a redirection is required
BUGFIX IE will give an "Unknown runetime error" complaining when text wrapped in a paragraph tag can't be inserted (when entering a link for a single word on a line in TinyMCE). The link is correctly inserted however. Workaround this by checking for this error so the alert box doesn't appear.
ENHANCEMENT Event item callbacks for SS_Log
NEW Partially backported prepStringForDB fix

Required to get unicode strings saving properly
in MSSQL database with the native SQLSRV driver