commands: parsing of "file" field in set host vm

duplicated code in add host vm and set host vm lead to this error
refactored to avoid this duplication
commands: refactoring code

created a python file module for storing common python
functions used in different places
commands: list cluster code refactoring

removed duplicated code which now sits in vmextended
commands: list host vm code refactoring

eliminating duplicated code which now sits in vmextended
KVM: add support for mounting CDROM to virtual machines

this big patch add support to specify a CDROM which can be attached to the
virtual machine. The cdrom can be either a ISO or a block device (/dev/cdrom)

The following command has been updated:
rocks set host vm cdrom
rocks list host vm showdisks=1
rocks report host vm config
commands: when speficying a block device allows full path name

This was a stupid limitation which affected the disk images defined
as a block device (e.g. /dev/vdc).
Only 1 file name was allowed inside the /dev/ directory (it was not
possible to specify /dev/zvol/somezvol)
commands: remove useless function in report host vm config
commands: if defined add cdrom in the boot devices

if the node has a cdrom device defined it will add it to the boot
devices after the hd.

Boot order is
1. network
2. disk
3. cdrom