Sync apiclient from oslo

In the process of unification of the clients code we should
reuse common functionality from Oslo.

Hash of latest commit which affected apiclient in oslo at time of sync:
- be81d6ba70152e5cdd7e8e9d789b9733c6ff527f

Related to blueprint common-client-library-2

Change-Id: I93d5dae3a2ba124d6fba91f02c486dca25c5e09e
Improve output of "keystone help discover"

The current output of "keystone help discover" is:

usage: keystone discover

Discover Keystone servers, supported API versions and extensions.  Usage:: $
keystone discover Keystone found at http://localhost:35357 - supports version
v1.0 (DEPRECATED) here http://localhost:35357/v1.0 - supports version v1.1
(CURRENT) here http://localhost:35357/v1.1 - supports version v2.0 (CURRENT)
here http://localhost:35357/v2.0 - and RAX-KSKEY: Rackspace API Key
Authentication Admin Extension - and RAX-KSGRP: Rackspace Keystone Group
Extensions

The reason is that our parser strips away all the line ends. Let's
rephrase the text so that it formats more nicely.

Now the output is:
Discover Keystone servers, supported API versions and extensions.

Change-Id: Ic9f9e3e407ae299eb091a0a7093c955dc6cab8f2
Merge "Sync apiclient from oslo"
Merge "Improve output of "keystone help discover""