Postponing the session_kvstore assingment

I ran into a situation where I was using redis as a kv-store and I needed to load the parameters for the redis connection from the flask app after the extension had been instantiated (I have a setup where all extensions are in a separate file called extensions.py). 

My changes allow the KVSessionExtension to be initialized without initial parameters and also supports the delayed assignment of the session_kvstore paramter. If session_kvstore is not provided in either __init__ or init_app a ValueError is thrown. Hope you like the addition :)

cheers,
Bjarki