101 swift drv fixes

1. move cred in a json file. 
2. add keystone checking in proj-id hook. 
3. keystone mocking. 
4. require token and storage_url for all storage-driver apis, and vault model. 
5. revise tests and controllers
My only worry is projectidhook is based on auth, but  I'm not sure if Pecan call these hooks on what order.