support unsure name ufs

upload return {key: 'xxx'}, then save it
new npm publish in one request, add _publish_in_cnpm
fix test
set tarball url
compat remove package

use dist.tarball to store the key, avoid to change mysql
qnfs upload only callback a url
keep compatibility

temp save path add random string
add download statistics
add if else after ufs.upload
Merge pull request #137 from fengmk2/issue136-nfs-support

Issue136 nfs support