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
Merge remote-tracking branch 'origin/2.4' into post-2.4
API: Install framework 2.5 into the sapphire directory
Integrate composer in the Travis build process

Creates a package definition from the framework version being built,
and uses composer to install it into an installer project, as well
as the required modules for testing.