Add synchronous connect() API for kvstore

This PR adapts some ideas we've used in picl-tabs and picl-keyserver, to provide a synchronous connection API for kvstore.  It allows you to call kvstore.connect() and just start using the returned object to access the db.  Under the covers, method calls transparently suspend until the connection is established.

@zaach thoughts?