FIX Don't validate pages when restoring or reverting (fixes #2449)

Use new method
Merge pull request #863 from kinglozzer/2449-getcmsvalidator-restore-pages-fix

FIX Don't validate pages when restoring or reverting (fixes silverstripe/silverstripe-framework#2449)
BUG: Fix add new button not passing the correct parent ID.

The `%s` parent ID placeholder was being URL encoded, so it was not being
replaced properly when adding a new page. This fix separately adds
placeholder parameters to the URL to avoid this issue.

The fix is not ideal, but there is no easy way to indicate that some
URL parameters should be URL encoded and others should not while still
correctly constructing the URL.
Merge pull request #870 from ajshort/pull-1

BUG: Fix add new button not passing the correct parent ID.
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