BUG Security::permissionFailure() fixing permissionDenied hook inconsistency

permissionDenied only works if Security::permissionFailure() is called when
there's currently no logged in Member. This fixes it so failed attempts
with logged in Member also includes the permissionDenied hook.

In addition, fix an undefined $member variable
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.
Restored c4eac5310e1f (merge error)

FIX: Instead of CsvBulkLoader->findExistingRecord out right failing (i.e. no duplicate found) when the duplicate check field is empty, it will now continue on to check other duplicateCheck fields.
Added extra testing data to CSVBulkLoaderTest so that it fails.
BUG Fixes issue with '+' characters in url.
Coding conventions for ConfirmedPasswordField
FIX: Disable autocomplete on ConfirmedPasswordField instances.
Partial code formatting / phpdoc cleanup of Versioned
Fix typo in templates documentation
Merge pull request #1868 from wilr/pen-6245

FIX: Disable autocomplete on ConfirmedPasswordField instances.
PHPDoc + coding conventions
API: Add Director::is_https()
API: Add ArrayLib::flatten($array, $preserveKeys)
FIX: Add support for multi dimensional source arrays in LookupField (open/6132)
Merge pull request #1871 from wilr/open6132

FIX: Add support for multi dimensional source arrays in LookupField
Merge pull request #1870 from wilr/is_https

API: Add Director::is_https()
API: Add sync_blacklisted_patterns for configuring files to skip in sync tasks

Fixes http://open.silverstripe.org/ticket/6210.

Replaces the hardcoded file patterns from Folder::syncChildren() with a new static Filesystem::$sync_blacklisted_patterns to describe files and folder names to skip when running Folder::sync().

Added unit test for Folder::sync()

Extended Folder::sync() to report on the number of file / folders skipped.
Suggest users install curl, tidy on their machines.