Offline vault client tests and improved coverage

tests run offline by default, can be run online against the staging blobvault with --online-blobvault
Please use assert.strictEqual everywhere and forget that loose quality even exists