Choose available address for ide disk

Tested:
 1.make check
 2.adding more than 4 cdroms report error
 3.less than 4 cdroms successful boot and see all cdroms.
 4.When a vm does not have cdrom, adding succeed.

When we only assign source and target type, bus information,
libvirt may generate another controller for ide disk appending,
this will be conflict with libvirt's limitation of 1 ide controller.
This patch choose available bus_id and unit_id for ide disk
to make sure we can reach the limit of 4 ide devices per vm.
Address of 4 ide devices are:
  <address type='drive' controller='0' bus='1' target='0' unit='1'/>
  <address type='drive' controller='0' bus='0' target='0' unit='1'/>
  <address type='drive' controller='0' bus='0' target='0' unit='0'/>
  <address type='drive' controller='0' bus='1' target='0' unit='0'/>

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>