This interface will be used by executors and other
commands to interact with remote hosts.
It is split into generic inventory and BaremetalInventory to
keep open door for cloud providers. In the future, if we
decide to that we need, for example list VMs in google, azure,
openstack or any other clouds, we would extend inventory interface
with approprate more sepcific inventory such as OpenstackInventory
etc...
Relates-To: #297
Change-Id: Ie19ed6047390e09a658c1e943b5e83d88e9668bf