Fixed issue with parts not having the correct start/ending boundary
Moved upload flush to flush after every write, allows a more accurate progress tracker
Moved onsucces/onfailure out of try/catch so is easily handled when things don't parse correctly in response.getContent()