CP-4325: Add API stub for pool.get_license_state

Signed-off-by: John Else <john.else@citrix.com>
CP-4325: Add pool.license_state getter to CLI

Signed-off-by: John Else <john.else@citrix.com>
CP-4325: Split License_check.check_expiry up into two functions.

Signed-off-by: John Else <john.else@citrix.com>
CP-4325: Implement pool.get_license_state
Add Test_common.make_pool

Signed-off-by: John Else <john.else@citrix.com>
Add high-level unit testing framework

Signed-off-by: John Else <john.else@citrix.com>
CP-4325: Add tests for pool-wide license logic

Signed-off-by: John Else <john.else@citrix.com>
CP-4321: Host edition upgrade rules

Free and XenDesktop licenses are left as is.
Advanced, Enterprise and Platinum licenses are converted to per-socket
license.
Anything else is made into a free license.

Signed-off-by: John Else <john.else@citrix.com>