FIX Only block root vendor folder

Use RewriteRule instead to take in account any subfolder via RewriteBase. Deny ss-cache and composer via RewriteRule too.
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.
Have 'Configuration Reference' link point to uploadfield page

Oops.
Fixing array to string conversion in dev/build for PHP 5.4
Arbitrary placement of _ss_environment.php in parent folders

Removes hardcoding to three levels
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.
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
Improved shortcode docs
Merge pull request #1948 from chillu/pulls/shortcode-docs

Improved shortcode docs
Merge pull request #1864 from tomzen/patch-1

Have 'Configuration Reference' link point to uploadfield page
Add code-sniffs other than line length to scrutinizer
Merge pull request #1934 from simonwelsh/scrut

Add code-sniffs other than line length to scrutinizer
BUG GridFieldFilterHeader works without non-filterable cols

Previously relied on the presence of a last column which wasn't filterable,
commonly a GridFieldEditButton. If this wasn't present, the filter buttons
were never added, leading to the GridField JS reload request being sent
without the required button form action, so GridFieldFilterHeader->handleAction()
was never called.
Update server-requirements.md
Update common-problems.md
Update common-problems.md