generateSkullItemStack
Builds a player head with a display name and lore.
This used to resolve the head's skin from Mojang: one blocking call to api.mojang.com for the UUID, then another to sessionserver.mojang.com for the texture. Two problems with that:
1. It never worked. The resolved profile came from Bukkit.createPlayerProfile(uuid), which leaves the profile name null, and the code then only applied the profile when getName() != null. That guard could never pass, so every fetched texture was discarded.
2. It was the single largest cost at server startup. The UUID lookup sat before the cache check, so it ran on every call even on a cache hit, and neither call set a connect timeout. Measured on a full-content server: ~19s inside EliteMobs' config load and ~7s inside FreeMinecraftModels' menu setup, the latter on the main thread.
Since the textures never rendered, the calls and their profile cache are gone. Heads render as the default player head, exactly as they did before. If skinned heads are wanted later they must be resolved off the startup path and cached to disk, and the profile must be created with a name via Bukkit.createPlayerProfile(uuid, username) so it actually applies.
Parameters
retained so callers do not all have to change; currently unused