Isolate get_discovery function

When we get to having version independent identity plugins they need to
be able to share the discovery cache with the session. This function
should therefore be reusable rather than making the cache on the session
public.

DocImpact: Adds a new get_discovery function to identity plugins. This
function is expected to be used by subclasses doing custom URL discovery
rather than users.

Blueprint: version-independant-plugins
Change-Id: I769b4e2cd59a4dd167c4dcd8f14641081f867a71
Merge "Isolate get_discovery function"