FIX 7853 Flush the content of drop down fields when closing html editor linker (links and images)
BUG Exclude framework/dev from text collection (fixes #4754)

Avoids breaking execution if PHPUnit is not installed,
since classes in framework/dev/ extend PHPUnit,
and get autoloaded when we inspect the ancestry and implementors
of every class defined on the filesystem.
Not an ideal, since it removes i18n support for dev classes,
but in practice this only impacts a single entity definition.
BUGFIX Versioned_Version->relField() so fields can be used in GridField etc

Copied from DataObject, since we can't use the $fallback opion in this case
(will try to retrieve from wrong class)
BUGFIX: fix for broken layout in insert media dialog - Trac #8232
FIX 7934 When lazy loading fields respect version of the record
API Data corruption on Versioned due to lazy loading

Lazy loading no longer loads fields from the versions table when querying. This could lead to incorrect data being displayed if the data on the object and the version it pointed to did not match.

API methods to allow setting of the context of the query that generated the DataObject on that object (used by the lazy loading mechanism to correctly query the Stage, Live, or Versions tables)

See https://github.com/silverstripe/sapphire/pull/1178 for context.
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.
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.
BUG Enforced requirement that ValidationException::getResult() is expected to consistently produce a valid ValidationResult object.
Update coding conventions to match SilverStripe practices
Update examples to match conventions