API SiteTree->validURLSegment() prioritizes extension votes

Tri-state, use NULL to ignore the extension result
Using new CMSForm class to allow for validation errors in CMS

This class allows deferring handling of responses to the parent
controller's response negotiator implementation.
FIX #651 Broken redirection after creating new folder in assets
ErrorPageTest: Reset env state

Otherwise SapphireTest will complain, see 0da70dafa457564a6adb02140ffeb5dd01f3a982
Merge remote-tracking branch 'origin/3.0' into 3.1
Fix AssetAdmin::$allowed_actions
Merge pull request #778 from silverstripe/pulls/allowed_actions-deny

Fix AssetAdmin::$allowed_actions
Merge pull request #772 from chillu/pulls/sitetree-urlsegment-votes

API SiteTree->validURLSegment() prioritizes extension votes
Merge pull request #770 from chillu/pulls/cmsform

Using new CMSForm class to allow for validation errors in CMS
Correct form name in CMSFileAddController, fixes upload

Fixes https://github.com/silverstripe/silverstripe-framework/issues/2172
PHP 5.5 CI, don't allow failures for sqlite3 and postgres
Merge remote-tracking branch 'origin/3.0' into 3.1

Conflicts:
	.travis.yml
FIX Not checking stage in SiteTree#canView

SiteTree versions that arent the live version shouldnt be accessed by
regular users, but the logic to check that was split off into canViewStage,
which wasnt checked by code that isnt specifically SiteTree aware
(like RestfulServer)
Merge pull request #792 from hafriedlander/fix/stageaccess

FIX Not checking stage in SiteTree#canView
Merge branch '3.1'

Conflicts:
	.travis.yml
	code/controllers/ReportAdmin.php