Fix xen plugin to retry on upload failure

The xen plugin does not catch all cases where upload can throw
an exception due to connection failures and timeouts.  This
change extends the try/execpt window to catch these cases.

Also added original connect which in part keeps us from lazy-loading
the connection and logging of exception information so we can
figure out later what happened.

Change-Id: If643a7da9f602ab7bb5d255031a841c674fa6c6f
Fixes-bug: 1378903
libvirt: add classes for NUMA memory binding configuration

To allow specification of strict memory binding for NUMA
nodes, add support for libvirt's <numatune> XML element.

Related-bug: #1385308
Change-Id: I08f01a50b92ca648b803f94ef028bc2f10e6f6a8
Convert service and servicegroup to objects

This converts service and servicegroup to use objects instead of
proxying through conductor.

A cleanup is added to object tests that change the indirection_api
because other tests that run services might otherwise be affected
by it.

Related to blueprint kilo-objects

Change-Id: I87b077699c2ecbc25a83e5844e8c69fe147cec01
Remove and deprecate unused conductor service calls

A previous change converted service and servicegroup to objects.
This change removes the now unused methods from conductor.

Related to blueprint kilo-objects

Change-Id: I3e35598ec89b18d1121547caa37ec5dbc506cb06
Refactor some service tests and make them not require db

This refactors service tests in a few different ways:

 - Remove unnecessary calls
 - Make tests test what they say instead of something that other tests
   already cover (make TestLauncher into something else than testing
   what test_service_random_port already does)
 - Make them not require db

Change-Id: Ic2dfbc0d2ccf7a1f71929b78d7c7d784a2f8b7f5