Centralize graphics information

Recently the ticket information was added to the vm to report the
graphics password and its expiration time.
That way, graphics information was found in 2 different data structuce:
some information under "graphics" and other ones under "ticket".

   {
    "graphics":{
      "type":"vnc",
      "port":null,
      "listen":"127.0.0.1"
    },
    "ticket":{
      "passwd":null,
      "expire":null
    },
    "name":"Ubuntu14.04",
    "uuid":"8522d82d-d51b-436f-88ff-aff1fed27613",
    "access":"full",
    "state":"shutoff",
    "memory":1024
    ...
   }

As "ticket" data structure only contains graphics information it makes
more sense to centralize it under "graphics" and also use the same
terminology used by libvirt (passwd and passwdValidTo)

    "graphics":{
      "type":"vnc",
      "port":null,
      "listen":"127.0.0.1"
      "passwd":null,
      "passwdValidTo":null
    },

Signed-off-by: Aline Manera <alinefm@linux.vnet.ibm.com>
Allow user updates the passwd expiration time without changing the passwd

The previous implementation was updating the password value (by a random one)
even when it was not passed as parameter as below:

PUT /vms/my-vm {'graphics': {}}
PUT /vms/my-vm {'graphics': {'passwdValidTo': 10}}

Instead of doing it, generate a random passwd only if the given password
value is an empty string:

PUT /vms/my-vm {'graphics': {'passwd': ''}}

Signed-off-by: Aline Manera <alinefm@linux.vnet.ibm.com>