Fix issue with downloadTaskDidFinishDownloading not being called

The issue here is if destination is not provided for download task, then there is no way to access the download location later. 

This is especially critical for background downloads and I guess task delegate always exists, therefore `downloadTaskDidFinishDownloading` will never be called.

My solution is to give `-[AFURLSessionManager downloadTaskDidFinishDownloading]` block a higher priority if it's provided by application and returns non-nil, otherwise fallback to task delegate's implementation.

Related to issue #2050.