(PUP-3009) Add error handling to PMT module downloads

Before this PMT would not check if the module download request
succeeded before trying install the module. This causes informative
errors from forge to be hidden by an error about the checksum of the
download not matching. After this PMT will only move forward with module
installation if a 200 is received from forge otherwise it will display
the error returned by forge.
Merge pull request #2941 from adreyer/PUP-3009

(PUP-3009) Add error handling to PMT module downloads