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.
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
Merge pull request #916 from chillu/pulls/current-dir-include-path

BUG Inspect current directory for include_path
Adding additional tests for special characters in FileNameFilterTest
Merge pull request #901 from halkyon/filenamefilter_underscores_fix

BUG FileNameFilter should remove any amount of underscores from start of...
Set method visibility to public in FileNameFilterTest