Security Group ICMP validation for icmp-code

This patch would ensure that Security Group rule creation would
fail when icmp-code alone is provided.

Partially implements: bp ipv6-api-testing-parity
Change-Id: Ib630a72b0979c9738c80cbb0df862bab10b30e5c
part-2 expect badRequest in server metadata test

In Nova V2, when server is being created with long metadata, exception
OverLimit is thrown. But Nova V2.1 API has strong input validation
and catch long metadata during input validation only and throw badRequest.

This patch modifies the negative test to expect both exception.

This is needed to share V2 and V2.1 tests.

This tests case was missed in I1e619389f1f986374e7d1da86eecf3074a591711

Change-Id: If0aff25f348f4476236dd701ed582d928d6eef51
Make policy client methods return one value, and fix tests

The clients-return-one-value spec assumed the returned body was a dict,
but some client methods return a list. A list version of ResponseBody was
added for this case.

Partiall implements: blueprint clients-return-one-value

Change-Id: Ibd4f9c3c8082726933c969099390c6c0935b27f5
Merge "part-2 expect badRequest in server metadata test"
Merge "Make policy client methods return one value, and fix tests"
Merge "Security Group ICMP validation for icmp-code"