Implement QNetworkAccessManager-level caching

With this patch Picard XmWebService is starting to honor Http Cache Control.
It limits bandwitdh consumption and is nicer with servers, while it improves a bit user experience but preventing downloads of files that didn't change according to the server (most notably CAA images).

Cache control is using default behavior, which seems to be pretty safe, but one can pass another value to get() or download() methods.

PreferNetwork (default): If the resource can be found in the cache and the age of the cached resource is less than the maximum age (used headers: “Age“, “Cache-Control: max-age“) or the resource has not expired (used header: “Expires“), then it is loaded from the cache. If the resource has expired or has exceeded its maximum age, it is loaded from the server, if possible with modification information (used headers: “If-Modified-Since” if “Last-Modified” was given, and “If-None-Match” if “ETag” was given).

Source: http://blog.qt.digia.com/blog/2011/04/29/http-caching-with-qt/
Source: http://qt-project.org/doc/qt-4.7/qnetworkrequest.html#id-0853017f-3771-4a96-9a4f-06e34f0efdb4
Source: http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13