Always specify preserve_ephemeral on server rebuild

Heat unit tests currently fail with git master novaclient. Without
this change all heat gating will fail as soon as novaclient 2.16.0 is
released.

Ideally the test mox should handle preserve_ephemeral being specified or not
but it is not obvious that this is possible. Novaclient rebuild has a kwargs
so always specifying preserve_ephemeral should not have any issues with
older novaclient.

Change-Id: Ieba9d19fefa77faf91b1d55bfbaa6797aeaa1fee
Closes-Bug: #1271367
add the validation of MaxSize ,MinSize and DesiredCapacity

* check whether MinSize is less than MaxSize
* check whether MinSize and MaxSize is not less than 0
* if DesiredCapacity is offered,check whether it is between
  MinSize and MaxSize

Change-Id: I79a7b6c0e61f109ac7e71d3fd48d93fb741bbc64
Closes-Bug: #1270070
Merge "Always specify preserve_ephemeral on server rebuild"
Merge "add the validation of MaxSize ,MinSize and DesiredCapacity"