import dropbox backend
Merge pull request #47 from lavelle/dbfs

Add incomplete Dropbox backend
add dropbox dependencies
add new vendor files to karma
add dropbox fs to test runner
Merge pull request #48 from lavelle/dbfs

Finish adding incomplete Dropbox backend
Alright. I think my credential harvester works; at least, it appears to.
Whoops. I didn't realize auth also called the callback.
OK, it's finally working. I copied Dropbox's credential logic and
modified it a bit. I need to hook it up to Makefile logic, though.

The Makefile should:
* Generate the SSL key if not present.
* Run get_db_credentials, which should check if the existing credentials work.

I also need to fix get_db_credentials so it exits when the keys are generated. It doesn't appear to do that right now.
Fixing a race in append file. Whoops.

We caused this when we changed synchronous calls to async calls.
Whoops; I was mistaken last time.

Synchronous mode makes each file update immediately visible.

But I changed the ftruncate test to sync after every truncate... didn't seem to fix it, though.
Fixing a typo.
Fixed truncate! We weren't keeping buffer 1-1 with the file contents; we didn't make large buffers smaller, for example.
make the credential generator executable on its own
update credential generator to check if a certificate exists
validate SSL certificate by making a test API call
remove some debug stuff from the dropbox backend
make certificate depend on generator
use npm dropbox path
use npm dropbox path