Application lifecycle register.
This is used to hook into Play lifecycle events, specifically, when Play is stopped.
Stop hooks are executed when the application is shutdown, in reverse from when they were registered.
To use this, declare a dependency on ApplicationLifecycle, and then register the stop hook when the component is
Add a stop hook to be called when the application stops.
The stop hook should redeem the returned future when it is finished shutting down. It is acceptable to stop
immediately and return a successful future.