Make ManagerWithFind abstract and fix TokenManager

ManagerWithFind requires list() method in its descendants.
Make it abstract and fix its improper descendant TokenManager
that do not implement list().

Change-Id: I83ae47d894c02d5cd1eb0da437dd05796d0b0160
Fixes: bug #1180393
Missing command descriptions for 'token-get' and 'endpoint-get'

When using command "keystone help token-get" and "keystone help endpoint-get",
the description of these commands are missing. The main reason is that
keystoneclient is using the command action method's method doc as the command
description. In keystoneclient/v2_0/shell.py, the two commands' action method
are 'do_endpoint_get' and 'do_token_get'. These two methods have a decorator of
"require_service_catalog" which is a function wrapper, and this decorator has
changed the origin __doc__ of the wrapped function by default

Modify "require_service_catalog" to change the __doc__ back to the origin
function's __doc__

Change-Id: I9977a3d279529b2066667cd2ffe44dd953b4d2fb
Fixes: Bug 1182107
Merge "Missing command descriptions for 'token-get' and 'endpoint-get'"
Merge "Make ManagerWithFind abstract and fix TokenManager"