EUCA-8707, EUCA-7938: Handle circumstances where listener blocks forever.

The Future's implementation of listener support failed to acknowledge that listeners are external code unaccompanied by durable guarantees about reliability. For example, they can choose to never return. Or return abnormally in some other way.  The calling side must address this.  To wit, the support for listeners in the futures now has a timeout.
EUCA-8707, EUCA-8510: Handle two cases leading to sockets for hands.

 A client socket could be left unclosed when either:
  1. A connection failure which is not due to an IOException; e.g.,
     a bug (or legitimate failure) in a downstream handler.
  2. A connection is closed after the response is received but before
     the client's future calls close.
The change here ensure that regardless of the prevailing conditions
that the socket is closed.

The closure of the socket also triggers the completion of a Future
which delivers the result of the request. In this case of the missed
channel close, the Future will never be completed.
EUCA-8707, EUCA-7983: Fix partition lookup error wrt internal services.

A ServiceConfiguration can be all of:
  1. A child in the partition of another component (e.g.,
     NodeController and the ClusterController).
  2. Have no ENABLED service in it's partition.
  3. Need to know the name of it's partition.

In the case that NodeController component calls here prior to knowing
 it's partition.  If the ClusterController is not ENABLED this will
 fail and deliver a meaningless message.
EUCA-8707, EUCA-7983: Fix DescribeServices response handling.

The ClusterController proxy state falsely assumed that any reported
data would always pertain to it.  Also, incomplete data was not
handled properly.
EUCA-8707, EUCA-7938: Fix to NodeController partition lookup.

Must use the name of the partition for the lookup.
EUCA-8707, EUCA-7938: Fix CLC coupling between CC/NC DescribeResources

The ResourceStateCallback for the CC was using the result of
DescribeResources to seed the tag list of nodes and use it as the
basis for updating node information.  Problematically,
this was from the thread of control of the ResourceStateCallback.
To make matters worse, the "update" work involved sending NC# of
DescribeServices requests.  Should that number be large enough it
would quickly exhaust the works on the CC.  Through this path,
there existed a feedback loop between the check activity of the NC and
the enabling and check activity of the CC.  Because there was no
cleanup for the NC service configurations they would always lead to
this problem after thier first registration given that the timing
was right (read: there are enough NCs).
EUCA-8707 Fix to transaction issue