Catch KeyError exception as early as possible when there is no matching data on the server.

When the server does not have any data matching the requested response_key, it can still return
successfully. A subsequent lookup in the returned data throws a KeyError exception. The simple
fix for this is to catch the KeyError exception and return an empty list. An empty list, rather
than None, is required because the calling code expects an iterable. The exception is caught
as early as possible after the server returns from the GET request. The end result is that the
CLI user sees an empty result when the requested data doesn't exist on the server. Prior to
this fix the keyError exception was propagated all the way to the user, causing a confusing
message to be printed. Also added associated unit test.

Fixes bug #1111972

Change-Id: I88ba658f8be7e7edf255ef9f7d83ba87f36f4efc
Merge "Catch KeyError exception as early as possible when there is no matching data on the server."