Don't use cache before the initial sync is finished

fix sync setting cache ready (with test)

fix https://github.com/remotestorage/remotestorage.js/pull/509#discussion_r8013775

refactor https://github.com/remotestorage/remotestorage.js/pull/509#discussion_r8013810

self-explaining code https://github.com/remotestorage/remotestorage.js/pull/509#discussion_r8013807

remove put/delete that is irrelevant for this test https://github.com/remotestorage/remotestorage.js/pull/509#discussion_r8013816

 === instead of ==

queue get requests until the cache is ready for that path

avoid superfluous var declarations and correct array index

add regression test

use 'that' instead of 'this' from callback function
jshint == -> ===
rename var that -> self
rename var readyPromises -> queuedPromises
rename var readyPromises -> queuedPromises in tests