3.0 - FlashComponent + FlashHelper

In a nutshell, this PR ports the existing flash functionality into a separate Component/Helper -- and is a follow-up to https://github.com/cakephp/cakephp/pull/3409 after digesting the feedback within.  In which, I largely agree with @jippi's comment.

* Different from the previous PR: logging stuff, default message string templates, static Session calls were all scratched, etc.
* Ported Session classes' flash handling into this Component/Helper
* Added ability to pass an exception as a flash message
* Condensed positional parameters into `$options` array
* Added `__call` magic method to set flash's element, for verbosity
* Kept the "when element === null" default string template around for the sake of the future of `cake.generic.css`
* Scratched the ability to set string templates, as these are better suited for elements, because after Cake's default output/css these will need to be customized to a CSS framework or a user's specifics needs -- to the point where defining all the HTML/tokens in a string template would become silly.

Up for discussion:  FlashComponent's `__call` could look for elements within `Template/Element/Flash` instead of a `flash_` prefix.

With these changes the following can be deprecated/removed:
* Cake\Network:Session::flash()
* Cake\Network:Session::readFlash()
* Cake\Network:Session::deleteFlash()
* Cake\Controller\Component\SessionComponent::setFlash()
* Cake\View\Helper\SessionHelper::flash()





The idea behind this was that calling a camelcase method name could be converted to underscored element view files.  Both camelcase methods, and lowercase/underscored view file names being CakePHP conventions.

The only scenarios I could see this affecting is having a capitalized element name or wanting to camelcase your element names.  `$this->Flash->Success('hello world')` -> `Success.ctp`, `$this->Flash->mySuccessElement('hello world')` -> `mySuccessElement.ctp`, and `$this->Flash->my_success_element('hello world)` -> `my_success_element.ctp` all seem silly.

And... these all break CakePHP conventions in one way or another.