CDROM Management: API.md and externalized error messages

This patch changes API.md with new storage sub-collection/sub-resource
information.

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

Excluding hard drive support from docs/API.md
Adding externalized string to be used in the new exception model

Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
CDROM Management: Update controller and API.json for guest storages

This patch adds the control classes for guest storages

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

Removing hard disk support from API.json
Changed API.json declarations to the new exception model

Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
CDROM Management: Devices management model implementation

This patch adds the CREATE, LOOKUP, UPDATE and DELETE functionalities
to guest storage devices support.

Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo@linux.vnet.ibm.com>

Using lxml and objectify to parse the XML info.
Pep8 adjustments in model/vms.py
Removing hard disk support from model/vms.py
Including xml creation using lxml in _get_storage_xml
Including existing device name verification
Changed model/vms.py to use the new exception model.

Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
CDROM Management: Guest vm storage devices mockmodel and rest api test cases

This patch implements the mockmodel class to simulate lookup, add,
remove, update of devices in a guest vm. Also, it adds test cases to
test the rest API.

Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo@linux.vnet.ibm.com>

Minor changes/improvements based on ML feedback
Removing hard disk tests from tests/tests_rest.py

Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
CDROM Management: changes in tests/test_model.py

Adding model tests to verify the proper behavior of
CDROM related model functions - add, remove and update.

Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>