Rework Cache implementation

- Create jxmpp-util-cache subproject
- Use LinkedHashSet instead of custom linked list implementation
- Create ExpirationCache