Implement XEP-0363 HTTP File Upload in xmpp-rs.
The current interface is as is because of a limitation of our libraries.
It is not possible to await on an IQ to get a result, so we have to
workaround it by storing data on the Agent and fetching it back when we
get the result.
The client will have to first call `upload_file_with` and then listen on
Event::HttpUploadedFile, which are decoupled actions, instead of
awaiting on upload_file_with and getting the URL as a result directly.
`upload_file_with` doesn't yet find the upload service by itself for the
same reason as above.
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>