BUG Request object now has URL changed

Instead of cloning the Request object and losing all the custom
attributes that don't come through the construct (eg: headers) we can
now set the URL alone.
Removed CMSMain->CMSVersion(), using LeftAndMain instead

Implementation got more complex (see https://github.com/silverstripe/silverstripe-cms/pull/289),
including composer.lock file support. So trying to to duplicate too much.
Merge pull request #294 from dhensby/request-patch

BUG Request object now has URL changed
FIX 8316 Prevents browser default behaviour when changing the pagetypes if creating a new page
Merge pull request #299 from patbolo/ticket/8316

FIX 8316 Prevents browser default behaviour when changing the pagetypes ...
NEW Restored duplicate and duplicated with children functionality, as in 2.4 See ticket #7602

Conflicts:
	javascript/CMSMain.Tree.js
	templates/Includes/CMSMain_TreeView.ss
NEW Set correct ParentID when creating page from list view
Merge branch '3.0' into 3.1
Merge branch '3.1'