Data Bag items must have an id matching /^[\.\-[:alnum:]_]+$/

Data Bag items must have an id matching /^[\.\-[:alnum:]_]+$/
But in recipes/api.rb file, it is "service:glance".

Change-Id: I0aef71c10cc6d7ca30d58c168044c4dbbcfafad1
Closes-bug: 1319286
Make retrieval of vmware_host_pass optional

Before this change, a non-vmware user would (without developer mode)
have to create a data bag item for this pass even when not using it,
because otherwise the get_secret's call would fail.

Now the lookup happens when the vmware_server_host is set, which seams
quite reasonable (I couldn't make out a "real" config driver switch to
put there instead.)

Also did some refactoring of the vmware specs into a parameterised
shared_examples block, with some additions.

Implements: blueprint vmware-password-databag
Change-Id: I8b34ef11eb01a668eddc41894d10c7c240f56e21