Making main app the global upload progress listener.
- AsyncUploader now has a static upload listener, this is set once at
  MainApp startup to the MainApp
- also more AsyncUploadListener as sub interface of AsyncUploader, this
  is just one function.
Merge pull request #961 from garvankeeley/upload-listener

Making main app the global upload progress listener.