FIX: wrong class name being returned

This resulted in an error since the returned class name did not exist.
Note that this only happened when someone subclassed GridFieldDetailForm
and did not subclass GridFieldDetailForm_ItemRequest.
FIX Avoid infinite loops on ?isDev=1 and Deprecation class

If any of the functionality triggered by Director::isDev()
was causing deprecation errors, the system would go into
an infinite loop. Since the only way to cause this is the DB
checking functionality, we disable that for Deprecation.
Side effect of this change: You can't show deprecation notices
on a live site by forcing the session into dev mode.
Revert "Merge pull request #2390 from phptek/2389"

This reverts commit 58da57dd1b6b47d7e2e5a8ab109268bbae8e1c3b, reversing
changes made to 8864256601bb295f8a52ad2eea04c4e1f8087c1b.
more meaningful error message in ConfigStaticManifest.php (depth < 0)

Changed error from: Fatal error: Hmm - depth calc wrong, hit negatives in /var/www/tangoio.maori.nz/framework/core/manifest/ConfigStaticManifest.php on line 242 

... to .... 


Fatal error: Hmm - depth calc wrong, hit negatives, see: /var/www/mysite.maori.nz/mymodule/code/MyClass.php in /var/www/mysite.maori.nz/framework/core/manifest/ConfigStaticManifest.php on line 240

The first error is completely meaningless and impossible to debug...
HTML attr encoding for UploadField config

Also fixed UploadField operation with canUpload=false,
which broke the JS because no config could be found,
since the <input> field wasn't present. We can't put the data-config
attribute on the field holder, since fields can be rendered
without their field holder through FormField->SmalLFieldHolder().

Fixes https://github.com/silverstripe/silverstripe-cms/issues/874
NEW GDBackend can save interlaced image

Disabled by default use config GDBackend.image_interlace: 1 to enable
array check to ensure getRemoteJoinField() gets an array from Config::inst()->get($remoteClass, 'has_one') (related issue: #2570)
API: DataObject->getRemoteJoinField() no longer defaults to ParentID but throws an exception instead
MINOR typo where display_errors wasn't checked properly
Merge pull request #2584 from ss23/patch-3

MINOR typo where display_errors wasn't checked properly
FIX: Move stage choosing into a pre-request filter.

This ensures that the correct stage is selected, even if the request
does not come through the model as controller system. This fixes an
issue where custom controllers would always be on the "Stage" stage.
Merge pull request #2586 from ss23/3.0-staging-fix

FIX: Move stage choosing into a pre-request filter.
FIX: Allow TreeDropdownField to open upwards (fixes #2188)
Merge pull request #2589 from kinglozzer/2188-treedropdownfield-overflow

FIX: Allow TreeDropdownField to open upwards (fixes #2188)
API TinyMCE contextmenu is disabled by default

Allows for built-in browser spell-check to be used
Document how to enable TinyMCE context menu

Required since https://github.com/silverstripe/silverstripe-framework/pull/2591
Merge pull request #2591 from colymba/tinymce-contextmenu-off

API TinyMCE contextmenu is disabled by default
Update docs to consistently use http://localhost/ (fixes #1919)
Merge pull request #2592 from kinglozzer/docs-localhost-urls

Update docs to consistently use http://localhost/ (fixes #1919)
Merge pull request #2558 from chillu/pulls/uploadfield-874

HTML attr encoding for UploadField config