Forge versions were processed in the wrong order. Reduce calls to API

Versions were returned in the wrong order because it wasn't using the right Forge API
Call the Forge API once for each module only and cache the data