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.
Revert "Merge pull request #2390 from phptek/2389"

This reverts commit 58da57dd1b6b47d7e2e5a8ab109268bbae8e1c3b, reversing
changes made to 8864256601bb295f8a52ad2eea04c4e1f8087c1b.
NEW GDBackend can save interlaced image

Disabled by default use config GDBackend.image_interlace: 1 to enable
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
Fixed support for single stage in Versioned

This used to work in 2.4, so is considered a regression.
To test, simply add a Versioned("Stage") extension to
some record in 2.4 vs. 3.1.
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
Merge pull request #2411 from simonwelsh/circ_ref

Revert "Merge pull request #2390 from phptek/2389"
Merge pull request #2604 from chillu/pulls/versioned-single-stage

Fixed support for single stage in Versioned
BUG Fix undefined index ID
Merge pull request #2621 from tractorcow/pulls/3.1-undefined-index

BUG Fix undefined index ID
Bad redirect in ChangePasswordForm->doChangePassword()
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.
Merge pull request #2630 from chillu/pulls/uploadfield-id

Conditionally send "ID" val in UploadField
Merge pull request #2565 from colymba/progressive-images

NEW GDBackend can save interlaced images
Merge pull request #2603 from chillu/pulls/htmleditor-upload-replace

Default UploadField to replace files