Make availability_zone optional in create for aggregates

As the novaclient's help message, we can create aggregate without
availability_zone. But the api didn't allow it, so this patch make
it optional.

Closes-bug: 1252177

DocImpact

Change-Id: I64629d71648900bf5be554d9afa4ae47d6b651d0
Join pci_devices for servers API

A previous change, 119e2a690a64fdfd541010590285f754b3393653, joined
pci_devices in the v3 servers API when getting a full list of instances.
This was to work around a race condition with the PCI API extension.
When the PCI extension runs later, it lazy-loads pci_devices.  This may
raise InstanceNotFound if the instance was deleted in the meantime.

The last patch did not fully resolve this race condition, as we are also
seeing it rather regularly in API calls for a single server.  This patch
updates the compute_api.get() calls to join pci_devices, as well.

Change-Id: Id3e60c3c56c2eb4209e8aca8a2c26881ca86b435
Closes-bug: #1270680
Merge "Make availability_zone optional in create for aggregates"