CA-94406: reapply fixed commit

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
CP-4091: Bump datamodel schema number for versioned capabilities change

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
CP-4091: add SM.features field to API

SM.features supercede SM.capabilites. Features represent versioned
capabilities. This will allow clients to predicate operations on a particular
verison of an SM capability, so they can be sure that a particular bug has been
fixed (which is the case with the VDI_RESET_ON_BOOT capability, which had
serious bugs in version 1).

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
CP-4091: Pipe capability versions through Xapi storage subsystem

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
CP-4091: Deprecate SM.capabilities field

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
CP-4091: rename SM capability to feature throughout code

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
CP-4091: SM features represented as (string * int64) list in Db

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
CP-4091: Fix bug in capability reparsing

We accidentally used the original parse_features function to convert
(string,int64) features to (capability,int64) features. This won't work because
the version numbers have already been stripped from the capability string at
this point, and parse_features will just assign the resulting features a
version number of 1.

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
CP-4091: extra merge work for master -> clearwater rebase

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
Merge pull request #987 from mcclurmc/pr1080-clearwater

PR-1080 VDI clone on boot