Support password authentication.

Add alternative authentication middleware to authenticate against Keystone using
username and password instead of validating existing auth token. The benefit
being that you no longer require admin/service token to authenticate users.

To use, update heat-api.conf:
     [paste_deploy]
     flavor = standalone

This should make it possible to try heat out against existing public
clouds.

Change-Id: Ia584bba78e8984581f0fb6882bbb17d5efa238db
Merge "Support password authentication."