Revised Image#upload! functionality + tests