API File->canEdit() returns TRUE by default (not checking CMS perms)

This is a measure to support form fields and controllers
interacting with files in different contexts,
for example an UploadField used in a ModelAdmin,
or a website frontend. The check for 'CMS_ACCESS_AssetAdmin'
was too restricting. This wasn't a problem in 2.x simply because
the old FileField/Upload classes didn't respect File->can*()
permissions.
FIX 7906 Regression: GridFieldConfig_RelationEditor: Removing relation deletes data object
BUG: Force gridfield to wrap on long content

Make sure gridfield cells wrap. Added word-warp, so long words will
break apart to wrap, and a max-width.

The max-width number is semi-arbitrary. In practice it does not act as
a real max-width, but as some sort of limit on the percentage.
Unfortunately, this fix has no effect at all on any version of IE.
BUG FileNameFilter should remove any amount of underscores from start of filename

When a user renames a file to "__test.txt" (two underscores or more),
then FileNameFilter will only remove the very first underscore from the
filename. This is not sufficient, as any number of underscores in the
filename will be problematic when Filesystem::sync() is called, it will
remove that File record thinking it's an internal file. This fixes it
so any number of underscores are stripped out at the start of the filename.
Update thirdparty/jquery-ui/datepicker/i18n/jquery.ui.datepicker-en.js

Syntax error on line 22.
Moved GridField docs to reference
Merge pull request #906 from martinduparc/3.0

Update thirdparty/jquery-ui/datepicker/i18n/jquery.ui.datepicker-en.js
Fixed DropdownFieldTest assertions when tidy is not available

It was setting a NULL empty string when constructing the field,
which shouldn't call setEmptyField() in the first place.
This logical error somehow just surfaced when the HTML output
wasn't run through tidy.

See https://github.com/silverstripe/sapphire/pull/886
Removed duplicate assertion comments in DropdownFieldTest
BUG Fixed intermittent absence of UploadField "drop" area

Only occurs when the UploadField resources are loaded uncached.
Possible cause: Randomized application between UploadField.js
setting "display: block" and UploadField.css setting "display: none". Simply hiding the element before showing it fixes the issue.
BUG FormField->removeExtraClass() works on indexed arrays

Was assuming an associative map, which isn't the case
in the current implementations.
BUG Fixes to the topics/forms.md documentation

- Added an example on how to setup a controller with a form
- Notice about adding form methods to $allowed_actions
- Using the FormField::create() in all examples
- Corrected some errors in the examples that did not work
- Aligned docs to use 120 chars lines
Merge pull request #907 from stojg/docs-forms-7727

MINOR: Fixes to the topics/forms.md
Merge pull request #911 from chillu/pulls/formfield-extraclass

BUG FormField->removeExtraClass() works on indexed arrays
Merge pull request #874 from adrexia/gridfield-wrap-fix

BUG: Force gridfield to wrap on long content
BUG Remove .ss-tabset class from CMS tabs to prevent rogue ajax load (#7980)

The existence of .ss-tabset triggers JS which applies $.tabs(),
and in turn interprets the first available link as the tab navigation.
jQuery UI subsequently tries to ajax-load this link, which is not
desired. Instead, $.tabs() should *only* be applied to a container
DOM element with .cms-tabset applied.
Merge pull request #912 from chillu/pulls/7980

BUG Remove .ss-tabset class from CMS tabs to prevent rogue ajax load (#7...
Changes ping to POST and clears Requirements for ping

GET requests can, and do, get cached. Using POST forces them not to.
Clears requirements so that the SecurityAdmin JS isn't injected.
BUG Inspect current directory for include_path

This fixes problems where require/include calls rely
on the relative file path, e.g. in i18n.php.

Followup from https://github.com/silverstripe/sapphire/pull/904
Added composer.json