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
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.
Typo "nee" -> "need"

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

Typo "nee" -> "need"
Removed invalid characters

No idea what those characters were meant to be, so I removed them.
Merge pull request #1296 from ss23/patch-6

Removed invalid characters
Adjusted docs to "simple" theme (thanks Nadeeth Lansakara)
Fix minor formatting issues

Extra spaces in front of Action.
Removed the out of place text on GridField (is that meant to be a link or what?)
Missing a period on the end of some entries.
Merge pull request #1298 from ss23/patch-7

Fix minor formatting issues
FIX #8328 Expose previously selected values of TreeMultiSelectField so they are not wipped out when selecting more values at an higher level in hierarchy
Allow setting the MySQL database port
Allow setting the database port in _ss_environment
Merge pull request #1301 from simonwelsh/mysqli-port

Allow setting the port for mysql and setting it in _ss_environment
FIX Respect tree node limits, fix search result node display

- Renamed $minNodeCount to more accurate $nodeCountThreshold
- The $minNodeCount attribute wasn't properly respected
during actual querying, so SilverStripe would always traverse
the entire tree (and load all objects into memory),
before then marking nodes as "unexpanded", which prevents
them from actually being rendered.
- Fixes nodes on search results to be expanded by default
- Fixes nodes on search results to correctly ajax-expand
Merge pull request #1289 from chillu/pulls/tree-node-limit

FIX Respect tree node limits, fix search result node display
Merge pull request #1300 from patbolo/ticket/8328

FIX #8328 Expose previously selected values of TreeMultiSelectField so t...