3.0 FlashComponent + tests

__Ignore the build status - Travis is randomly failing certain totally unrelated tests.__

Refs #2673.

### Features:

* Passing exception as message.
* Levels (defaults to notice).
* Re-usable templates (defaults to CRUD templates).
* Redirect (defaults to `false`).
* Logging (defaults to `false`).

See tests for samples.