Split and fix availability zone filter unit tests

The availability zone filter unit tests were broken, but the problem
with them was being masked due to aggregate fixtures that were created
in tests that happened to be alphabetically ordered right before them.
This patch splits out these unit tests into their own file and mocks out
the appropriate call to nova.db.aggregate_metadata_get_by_host() instead
of relying on database records.

Change-Id: Ic692d3e7c77047ae6d901b955bc504fdc5e73738
Port SecurityGroupRules controller into v2.1

This patch port SecurityGroupRules controller into v2.1 security_groups extension.

This patch just move the v2 code into v2.1 and share the unittest. The other
v2.1 related fix and improvement will be addressed by subsequent patchset.

Partially implements blueprint v2-on-v3-api

Change-Id: I23c6d7c70ec27068066e2a2e3c7764982bf8ed1d
Port security-group-default-rules extension into v2.1

This patch port security-group-default-rules into v2.1.

This patch just move the v2 code into v2.1 and share the unittest. The other
v2.1 related fix and improvement will be addressed by subsequent patchset.

Partially implements blueprint v2-on-v3-api

Change-Id: I4d65993d6413160d2c7c2eb2ce0c3f66768e1a36
Use 404 instead of 400 when security_group is non-existed

This patch correct the status code when security_group is
non-existed. This is good for sharing unittest between v2.1
and v2 API.

Change-Id: Ib4bd725381052947859db1ab30905fa33e502679
Merge "Split and fix availability zone filter unit tests"
Merge "Port SecurityGroupRules controller into v2.1"
Merge "Port security-group-default-rules extension into v2.1"
Merge "Use 404 instead of 400 when security_group is non-existed"