* Add PlayerIPStorage interface for storage.
* Add implementation with YamlStorage.
* Add JoinIPStorageListener to store IP on player join.
* Use stored IPs within PingListener.
* Add getStorage method to IconManager.