Don't start a session if it's known to be empty.

If an app only reads/checks the session there's no need to start a
session to know that the read/checked session value is empty.

Fixes #1981
Avoid code duplication.
Added regex support to Validation::mimeType().
Fix link in comment
Merge pull request #2743 from mattalexx/fix-comment

Fix link in comment
Allow empty values in checkboxes.

Allow the checkbox value attribute to be empty. This is required to make
checkboxes with a value of 0.

Fixes #2717
Fix plugin path filtering when directories do not exist.

When paths do not exist we should correctly remove them from the output
paths.

Fixes #2748
Fix: Changing boolean to integer for Postgres

Closes #2751, CakeDC/migrations#149
Add test to prove Event Manager regression
Check event against listeners registered in local and global manager

Closes #2730
Merge pull request #2752 from rchavik/2.4-postgres-alterschema

Fix: Changing boolean to integer for Postgres
Merge pull request #2740 from rchavik/2.5-event-manager-regression

RFC Fix: CakeEventManager regression
Merge pull request #2693 from ADmad/2.5-session-start

Don't start a session if it's known to be empty.
Add '@' to the list of characters removed from radio/checkbox ID.

This character can easily show up in email addresses and can cause
invalid HTML.

Refs #2733
BC fix for checkbox ids

Revert to previous behavior for id generation of checkboxes, This commit
can be reverted for 2.5+ is desired

Fixes #2733
Merge pull request #2766 from AD7six/2.4.x-bc-form-fix

BC fix for checkbox ids
Added missing 'Session'-Compomnent in bake

If a Controller was baked interactively and one want to use Session flash messages, the required 'Session'-Component wasn't added to the $components-Array
removed indentation
fixed coding standard errors
Fix bake templates to generate functioning code.

Closes #2776