[LIBCLOUD-544] Resolve a bug introduced by the original fix of the issue...

This is meant to replace github.com/apache/libcloud/pull/349
With one clean commit.

1- Add separated verifications for "None" and malformed metadata.
   A clear error will be raised upon malformed metadata.
   If undefined or already None, we assume None.
2- Provide comments explaining the odd GCE dictionary format.
3- Perform check on metadata dictionary structure. We expect one "items" key
   and a tuple of arbitrary values.
4- Prefix the keys/values provided by a simple dictionary by "items" if not
   found, enforcing point 3's structure.