Calculate where to scroll to based off the position in the div

Also, only scroll if not currently visible.
Merge pull request #871 from simonwelsh/3.1-scroll

Calculate where to scroll to based off the position in the div
Add an extension hook for customising site tree hints.
Merge pull request #873 from ajshort/pull-2

Add an extension hook for customising site tree hints.
Avoid encoded HTML breadcrumbs
FIX Remove invalid single quote
Merge pull request #876 from cieszak/3.1

FIX Remove invalid single quote
Behat travis tests
Merge remote-tracking branch 'origin/3.1'

Conflicts:
	.travis.yml
Moved Behat reports tests to module
MINOR add hook for extensions to update current page id, before falling back to default
Merge pull request #879 from sheadawson/833-currentPageID

Add hook for extensions to update current page id, before falling ...
Revert "Moved Behat reports tests to module"

This reverts commit 50a48aa25dfd65a8f823780df93b6ee86256474a.
The test in question relies on SiteTree data *as well* as the
reports module, so needs to be placed here.
ContentControllerSearchExtensionTest doesn't clean up after itself.

The problem is FulltextSearchable::enable() does two things:
It enables the extension, as well as sets the MySQL create table option
to MyISAM. Later tests run with the extension enabled, because it doesn't
get removed at the end of the test, but the table type is set back to
InnoDB when the test is reset and schema recreated.

This produces side-effects where later tests in a suite tries to run
ALTER TABLE on File and add fulltext indexes when the table type
is set to InnoDB, causing an error.
Merge pull request #880 from halkyon/fulltextsearch_text

ContentControllerSearchExtensionTest doesn't clean up after itself.
Default CMSMain to Versioned::reading_stage("Stage")

Regression caused by https://github.com/silverstripe/silverstripe-framework/pull/2585
Merge remote-tracking branch 'origin/3.1'