Patcher Patches

This changeset addresses some common concerns and complaints with regard to the patcher:

- We now retry phailed downloads as a hack to get around spurious repair phailures against certain onery shards.
- Cleaned up `pfPatcherStream` memory management a bit.
- Made the file download error messages more useful to the end user in case a phailure still occurs.
You're using emplace_back in several places. This seems to be a very cool function, but from http://en.cppreference.com/w/cpp/container/vector/emplace_back I take it that it's supposed to be used with the constructor arguments themselves. Can you explain why you switched from push_back to emplace_back?