BUG Undefined `$allowed_actions` overrides parent definitions, stricter handling of $allowed_actions on Extension

Controller (and subclasses) failed to enforce $allowed_action restrictions
on parent classes if a child class didn't have it explicitly defined.

Controllers which are extended with $allowed_actions (through an Extension)
now deny access to methods defined on the controller, unless this class also has them in its own
$allowed_actions definition.
Improved docs on $allowed_actions

Added section to "Controllers" and "Form" topics,
added $allowed_actions definitions to all controller examples
BUGFIX Keep Member.PasswordEncryption setting on empty passwords

This will prevent empty passwords to set the encryption to 'none',
which in turn will store any subsequent password changes in cleartext.
Reproduceable e.g. with ConfirmedPasswordField and setCanBeEmpty(true).
Add ContentController->handleWidget() to $allowed_actions

Required by recent $allowed_actions security fix
Updated changelog
ENHANCEMENT: fixed styling bug with the text in the file upload drop area and moved allowed extensions up a tad
MINOR:forgot to add the fix to the insert media upload field - styles from files section were breaking it.
BUG UnsavedRelationList aren't checked

When saveInto is called on ListboxField and CheckboxsetField,
UnsavedRelationList should be an acceptable relationship type. This is
leading to relations not being saved on initial creation of Member
objects
Fixed issue with cms help toggles not functioning correctly
No longer caching the target element to be toggled
FIX handleAction methods should be protected now
BUG Transaction stub methods for better cross 2.x and 3.x compat

The transactionStart() naming is 3.x, and used by some modules
which are otherwise still 2.x compatible.

Specifically, this was added to avoid branching the payment module
into separate 2.x and 3.x compatible branches.
Tab state overrides by class or HTML5 history state

Necessary to switch from tree view to list view programmatically,
which reloads the whole tabset and needs to enable the "list" tab.
Used for the new "Show list as children" functionality in the cms.
BUG Enforced requirement that ValidationException::getResult() is expected to consistently produce a valid ValidationResult object.
Removed stray code from HTMLEditorField.js
Update coding conventions to match SilverStripe practices
Update examples to match conventions
Correct spelling
Typo "nee" -> "need"

Looks like Silverstripe needs the d.
Merge pull request #1295 from ss23/patch-5

Typo "nee" -> "need"