Simplified Promise logic for localStorage driver - closes #307

I updated the whitespace since this revision removed the nested promises, I can put the extra indent back in for the sake of the diff if it's too difficult to read.

Also, I had to add a hook to `test.api.js` to require the Promise lib - once I removed the nested promises, the outer Promise wasn't there to catch an undefined error from the `localforage.ready` stub.