Cache forge responses and print an error if returns an invalid response
Use open-uri to simplify code and support proxies with http_proxy
Don't sort versions as strings. 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
Merge pull request #152 from rodjek/open-uri

Improve Forge API operations