Adds Hyper-V dynamic memory support

Blueprint: hyper-v-dynamic-memory

Memory overcommit in Hyper-V is handled with a feature called dynamic
memory (memory ballooning). This change adds a configuration option to
enable it.

The value of dynamic_memory_ratio expresses the ratio between the total
RAM assigned to an instance and its startup RAM amount. For example a
ratio of 2.0 for an instance with 1024MB of RAM implies 512MB of RAM
allocated at startup.

Unit tests have been added for this feature as well.

DocImpact
Change-Id: I036eaa3e739d995c6a5bcfb022bf2ed0a999085e
Merge "Adds Hyper-V dynamic memory support"