ENHANCEMENT: Do not display SilverStripeNavigator_CMSLink when in a LeftAndMain extension not just CMSMain extensions
Merge pull request #283 from UndefinedOffset/3.0

ENHANCEMENT: Hide SilverStripeNavigator_CMSLink when in a LeftAndMain extension not just CMSMain extensions
NEW Clickable URL preview in CMS

- Refactored SiteTreeURLSegmentField to render controls in template
rather than JS for better clientside performance, and cleaner behaviour.
- Added dynamic ellipsis to start of URL, to retain most relevant
part of the URL (the last bits)
- Added "suffix" setting to field, which defaults to ?stage=Stage
- Removed prefix from edit view to leave more room for URL

Thanks to @sunnysideup for getting this started in
https://github.com/silverstripe/silverstripe-cms/pull/269
FIX: updateCMSFields not accepting var by reference

updateCMSFields should be taking the fields var by reference.
@see https://github.com/silverstripe/sapphire/pull/1156
Merge pull request #284 from mandrew/patch-1

FIX: updateCMSFields not accepting var by reference
FIX Respect escaping rules on readonly fields in CMS history view

Avoids showing unescaped HTML on fields which didn't allow it otherwise,
e.g. TextField. This also fixes problems with SiteTree->ExtraMeta
which got evaluated within the CMS. If this section contains any
JavaScript it gets executed and can disrupt CMS operation.
BUG: Prevent conflict when using multiple SiteTreeURLSegmentField's in CMS edit form
Merge pull request #285 from ryanwachtl/bug-8032-multiple-urlsegment-fields

Prevent conflict when using more than one SiteTreeURLSegmentField in a CMS edit form
Merge remote-tracking branch 'upstream/3.1' into nc0.1
SiteTree on*() callbacks now consistently invoke on subclasses as well

Before this was only possible for some specific ones, like onBeforeWrite.
This excludes any callbacks with augment*() or update*() naming,
since these are assumed to be on extension only, with a corresponding
base method available on the class itself (e.g. "updateCMSFields()"
vs "getCMSFields()").
FIX Clear Requirements before in-memory HTTP request for ErrorPage

For example, avoids issues where separate controllers (calling and called) operate on the same
set of files through Requirements::combine_files().
BUGFIX Fixed limiting of URLs on RebuildStaticCacheTask
Results returned from FSP->publishPages()

Aids further processing and verbose display,
e.g. when the publication is triggered by a queuing mechanism.
Revert "FIX: updateCMSFields not accepting var by reference"

This reverts commit e56a78b1605ea958d844b4efca507074d5050c71.
Merge remote-tracking branch 'origin/3.0' into 3.1

Conflicts:
	code/controllers/SilverStripeNavigator.php
Merge remote-tracking branch 'upstream/3.1' into nc0.1