Allow configuration of admin and internal protocols for keystone endpoint

The public address is already configurable (http or https). This change
introduces the possibility of also configuring admin and internal endpoint
protocols as well. They are defaulted to http and therefore the change is
non-breaking and backwards compatible.
There was also no existing spec tests for overriding the public protocol,
this is fixed in this commit.

Change-Id: I1baafa444636729c4b73d2cca0753f6348fbd2a0
(cherry picked from commit a5b5e1211fbee62d9587c34e5cea3190046c694f)