CIMI: Initial implementation of 'attributes' in ResourceMetadata

Provider can define an extra attributes for each resource. In case
of Deltacloud API we do need provide Consumer a way how to define
the 'realm_id' when creating Machine.

This patch will add 'realm' attribute that hold information about
the 'realm' (eg. where Machine is located).

This patch also add 'machineImage' attribute to Machine that point
client to MachineImage that was used for creating Machine
CIMI: Added 'constraints' to resourceMetadata attributes for realms

Currently there is now way how to advertise available 'realms to
the client. This patch will make it possible through 'constraints'
defined for the 'realm' resourceMetadata atrribute defined for
the Machine resource.

This will allow to pass ':constraints' option to 'resource_attr' like:

  resource_attr :realm, :required => false,
    :constraints => lambda { |c| c.driver.realms(c.credentials).map { |r| r.id } }

The 'lamda' function must always return 'array' of possible values.