Alert factory

[Finishes #22851156950669]

Very basic for now.  Currently clears all alerts on `$stateChangeStart`.  This does not allow use of alert on redirect, which we should.