(REF) AuthorizeEvent - Extract AuthorizedTrait
The primary purpose of this is to provide a trait (`AuthorizedTrait`) to
describe the common semantics of of coarse-grained authorization check and
the upcoming fine-grained authorization check.
The extracted trait makes a few small changes:
* Change the default value from `FALSE` to `NULL`. In grepping universe for
consumers of `isAuthorized(0`, I could only find consumers that used
bool-ish values. So this should be the same for them. However, for
future cases, it will allow some distinction between NULL/FALSE.
* Use more type-hints. The type should be nullable-boolean.
* Mutators should be amenable to fluent style (e.g. `$event->authorize()->stopPropagation()`).