Use the correct variable as the key into $record

It was using $fieldName, which is the CSV field name, not the database
field name. This prevents duplicate detection from working. It now
properly uses $SQL_fieldName
Merge pull request #1821 from oddnoc/csvbulkloader-findexisting-2.4

Use the correct variable as the key into $record
composer/installer dep workaround

Moved to end of requirements, to work around a bug in composer - see https://github.com/composer/composer/issues/1147. This caused the dependencies to be installed in the wrong folder because the custom 'silverstripe-module' instructions hadn't been loaded at the time the core modules were installed via composer.
FIX: Falling back to summaryFields() should skip non database fields.
BUG Fixes issue with '+' characters in url.
Partial code formatting / phpdoc cleanup of Versioned
Fix typo in templates documentation
Fixing array to string conversion in dev/build for PHP 5.4
Bugfix: Added private static $defaultFormat in order to choose default via config. Permit WCAG validation of XHTML.
Arbitrary placement of _ss_environment.php in parent folders

Removes hardcoding to three levels
BUG GridField action onclick assuming URL without "?" character

Sometimes GridState URL will have a query string already appended,
e.g. "?local=en_GB", but the GridField javascript assumes there won't
be.

The result would be an action URL like:
"/my/url?locale=en_US?RelatedPage=123" which is obviously invalid.

The fix is to check that "?" exists in the GridState URL and use
"&" instead to connect the URLs if that's the case.
Put back cog icon for multi-select batch actions (was removed in f4b080e)
NEW: Move temp data into a user-specific subfolder, to stop temp-permission bugs from occurring.

Anyone who has run "sudo -u www-data ./framework/sake dev/build" knows that SilverStripe's temp
folder permissions can be very brittle.  This patch resolves this by making the temp folder
user-specific.

To minimise directory pollution it first creates a chmod 777 parent folder with the same name
as the current folder.  It then creates a subfolder of this with the same name as the current
user.

The positive impact of this change is that sake can be used without fear of messing up file
permissions.  This means, among other things, that we can put a Composer post-update-cmd into
the installer to run dev/build.  Progress!

The negative impact is that you will get two caches if you run sake as a different user.  However,
that is much better than the current situation - which is a bunch of bugs - and if you're concerned
about that, you still have the option of running sake as www-data.
NEW Added beforeExtending, afterExtending, and beforeUpdateCMSFields to allow user code better control over interaction with extending methods
Merge pull request #1946 from halkyon/reinstate_cog_icon_batch_actions

Put back cog icon for multi-select batch actions
BUG All tabs are in open state when changing the name of a folder.

Submitting the form via AJAX changes the DOM controlled by the tabs
widget, it needs to be notified about the change.
Merge pull request #1949 from mateusz/tabs-refresh

BUG All tabs are in open state when changing the name of a folder.
Updated github path
Merge remote-tracking branch 'origin/2.4' into 3.0

Conflicts:
	README.md
	composer.json
	docs/en/installation/from-source.md
	docs/en/misc/contributing.md
	model/Database.php
Updated github path