- fuse/filecache:
* add filecache_upload_patch
* allow opening files in modes other than RDONLY
- fuse/hashtbl:
* add folder_tree_upload_patch
- fuse/operations:
* allow opening files in modes other than RDONLY
* add members to private context which allow tracking of
not-yet-uploaded files and files opened for writing and
files opened in read-only mode
- mfapi/apicalls/upload_patch:
* supply x-filename and x-filesize headers
- mfapi/apicalls/upload_simple:
* do not supply the x-filehash header as it is not used by the
server
- utils/hash:
* hex characters must be lower case for the server
- utils/strings:
* clean up unused functions strdup_join, strdup_substr,
string_chomp
- utils/stringv:
* complete rewrite with different string vector implementation
- since mediafire cannot deal with empty files, we put new files into a
temporary location and upload them once they get closed
- add create and write functions to fuse
- pass a file handle to mfconn_api_upload_simple instead of a path
- allow calc_sha256 to also compute the file size
- error out when the key returned by upload/simple is empty
- make valgrind.supp more lenient
- utils is the low level library used by the others
- mfapi uses utils and implements the api and some wrappers
- mfshell uses mfapi and utils to provide a shell