Cleanup create flavor tests

In preparation for some refactoring and additional features to the create
flavor method, this patch cleanups the existing tests by:

* Moving flavor create tests out to their own class

* Adding more coverage around boundary conditions

* Making tests more orthogonal (not testing that `root_gb` was set correctly in
  multiple tests, for example)

Change-Id: I82acadc19d2713406c3be01a104ccd64377098ed
Cleanups for create-flavor

Instead of setting defaults values to None in the signature and then setting
the *real* default in the function body, it's more concise/readable to set the
value in the signature itself (when dealing with immutable types).

Along with this, the handling of `memory_mb` and `vcpus` was detangled so the
attributes were handled in one place and not across both the non-negative and
positive int checks.

Change-Id: I1c06768c2fd076adc8c0a647a492dabb67b7bf79
Fix response from snapshot create stub

A change from Oleg highlighted that the current snapshot create
stub is broken because it passes a full volume for the volume_id
paramter.

Fix the stub and the api_samples output, but also add unit test
checks which would have caught this.

Change-Id: Id006e3995c7696aa8f061a2b96123ea27e4b6d3f
Co-authored-by: Oleg Bondarev <obondarev@mirantis.com>
Merge "Fix response from snapshot create stub"
Merge "Cleanup create flavor tests"
Merge "Cleanups for create-flavor"