Load tenant un-lazily if needed

The laziness added to the role to reduce keystone
lookups assumes that all tenants are present in @tenants
if they are present in the system, and will not refresh
the class variable if the tenant is not found in it.

This patch adds a keystone lookup in the event of the supplied
tenant not being in the class variable, which can happen if a
tenant is created after prefetching.

Change-Id: I48b13f6abc906cde4794dd46d7938126aae204b1
(cherry picked from commit 9f7fe1827348d69a6d8b62c0a334612064cca554)