Updated exception handling to use std::invalid_argument and a new derived file_error exception within the IIPImage and derived classes. Allows better distinguishing between HTTP status errors