Feature/retry media upload

Implement retry functionality for media uploads that fails.

Solves: 
 * wordpress-mobile/WordPress-iOS-Editor#348
 * wordpress-mobile/WordPress-iOS-Editor#361

cc @bummytime @diegoreymendez 
Just a comment here.  Even though it may seem attractive to remove indentation levels by doing this, having several different exit points in a single method means you have to be extra careful when there's cleaning up involved - or if cleaning is added afterwards.  This means several exit point increase the complexity of the methods thus making them harder to maintain.