add PushDownloaderJob

This fixes #1264 

If a pending attachment download is interrupted, it will be resumed as soon as the network connection is established again. The job is persistent, so the download will be resumed after an app restart as well.

Until now `JobManager.setEncryptionKeys()` was never called, so encrypted jobs were never loaded to the JobQueue from the database. I put the call to `setEncryptionKeys()` in `RoutingActivity.onNewMasterSecret()`, I'm not sure if this is the best place for it?
And what happens after that? Eternal pening like it is now?
20 could be enough but on very bad connetions there can be several retries quite fast. 
Beeing in the car or on a train for example...