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
Add log_dir param. by default and allow users to disable it

This commit add log_dir param and configures it to /var/log/keystone
(default location). Set log_dir to false allows users to disable logging
to a directory (usefull if syslog is enabled in order not to log twice).

Change-Id: I83446ff8b70c1cc136c9e1bb24513006ac9cb5a8
Closes-bug: #1282296
Merge "Load tenant un-lazily if needed"
Merge "Add log_dir param. by default and allow users to disable it"