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.
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...
NEW GDBackend can save interlaced image

Disabled by default use config GDBackend.image_interlace: 1 to enable
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.
Default UploadField to replace files

Honours the $overwriteWarning setting, rather than warning
about overwritten files, and when that warning is acknowledged by the user,
create a new file instead. We need to set this as close to
the Upload->load() call as possible, since it depends
on non-deterministic config state.
API Change tracker allows explicit dirty messages
BUG Fixed issue with UploadField not detecting changes
added removeFromGroupByCode() function to Member.php

I was using the addToGroupByCode() function today and it would have been handy to have a removeFromGroupByCode() so I decided to add one.
API JS i18n files with short locale names, generated by build task

The files are uploaded to transifex.com now, which means we needed
to consolidate the file names (= locales). Since Transifex doesn't allow
arbitrary JavaScript structures, we're using an intermediary JSON
format which gets transformed into the JS used by the framework.

See https://github.com/silverstripe/silverstripe-buildtools/commit/b59f3858afd5c46219a42b04b2742c7d247199c9 for generator logic.

Fixes https://github.com/silverstripe/silverstripe-framework/issues/2499
Bad redirect in ChangePasswordForm->doChangePassword()
BUG backtrace now filters MySQLi arguments

Add MySQLi functions mysqli() and select_db() to the list of filtered
function arguments to avoid exposing sensitive data
Merge pull request #2625 from colymba/mysqli-backtrace-filtering

BUG backtrace now filters MySQLi arguments
Merge pull request #2624 from JayDevlin/bad-redirect-in-changepasswordform

Bad redirect in ChangePasswordForm->doChangePassword()
Set default encoding for compass

See https://github.com/haml/haml/issues/269. Seems that OS X Mavericks causes this to occur, even when system default is set to utf-8.

Force encoding in admin scss as well
Merge pull request #2620 from kinglozzer/patch-2

Set default encoding for compass
Remove TinyMCE change detection on insert (breaks IE8)

The detection is triggered on first load, and in IE8 the
inserted value doesn't equal the value already in the textarea field.
That's possibly due to whitespace or encoding differences,
but they have the same character length.

Tried fixing this by whitespace removal, didn't work:
if((original || '').replace(/[\s\t\n\r]/g, '') != (value || '').replace(/[\s\t\n\r]/g, '')) {

In the end, we're already detecting changes through a 5s interval
triggering the save() method on the editor if the field is focused.
The impact of this removal is that after inserting an image,
it'll take a few seconds for the change detection to kick in
(and thus highlight the "save" button and ask for confirmation
when navigating away without saving).

See d12ae82f70038ef08f444e7e6e0157491228319b for context.
Conditionally send "ID" val in UploadField

The "ID" form field is not always defined,
for example in the "Replace" tab of the "versionedfiles" module
(which uses GridFieldDetailForm). Since the path to that
detail form relies on the "ID" in AssetAdmin->currentPageID(),
and does an is_numeric() check to support the "root" folder,
we need to leave the "ID" param out completely.

Checked this without versionedfiles module in admin/assets
as well as a custom UploadField in CMSMain.