Add a simple extension hook

This enables stand-alone modules to hook in to the command-line
handler without polluting the existing API namespaces.  These
extensions have access to the existing clients via the client
manager but no way to add another client to the manager is provided..

Change-Id: I4b2eaa780d8ba881db23d950d09b8702e9e314ef
Merge branch 'extension-api' into dt-test