Also terminate uploads if any error occurs fetching items
This splits the missionitemprotocol handling entirely into separate header files and separate compilation units.