Handle IpAddressGenerationClient neutron

Handles IpAddressGenerationClient neutron exception which
can occur when allocating a floating ip fails because
the pool has been exhausted. Convert the exception
to a nova NoMoreFloatingIps exception which will be handled
by the api layer and converted to a 404.

Change-Id: Ib5320a13b5cc0c493ef0763d0e2b4575dc699bdf
Partial-Bug: 1210598
Change exception type from HTTPBadRequest to HTTPForbidden

When user without admin permission wants to get a list of servers
which are in 'deleted' state, currently it raises  HTTPBadRequest.
This should be changed to HTTPForbidden exception.

Change-Id: I29da5f055c69e8aba66ffb068a3601ae69b2fc94
Closes-Bug: #1281904
Updated from global requirements

Change-Id: I3296b2f6a12681199e35f05c288132347429eec3
Add new style instance group scheduler filters

Prior to Icehouse, there was a different type of handling of the
'group' scheduler hint that got lost in the completion of the server
groups API.  This patch completes the code necessary to provide
backwards compatibility with the old behavior.

Previously, the policy for groups was simply based on what scheduler
filters you had enabled.  You could have either the affinity or
anti-affinity filter enabled and that would be applied to all groups.
These filters now act on groups with a policy type of 'legacy'.

New filters have been added that can be enabled simultaneously and act
based on the policy set on the group via the server group API.

DocImpact

Change-Id: Ia65c151396415ca48725cb3c756f33efa01d2fe5
Closes-bug: #1296913
Merge "Updated from global requirements"
Merge "Add new style instance group scheduler filters"
Merge "Handle IpAddressGenerationClient neutron"
Merge "Change exception type from HTTPBadRequest to HTTPForbidden"