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 
Why the addition of `global`?  Is it shared by several components?