handle concurrency issue in cache layer

e.g. unique constraint kicking in some times...
support for "other files" in upload

e.g. put non-audio and non-archive files in corresponding audio file's
folder