CP-4460: Auto generate code for API messages marked as removed.

... there are also small tweaks to the formatter to make the generated code look nicer.

Signed-off-by: Zheng Li <zheng.li@eu.citrix.com>
CP-4460: mark WLB related API fields/messages as deprecated/removed.

Signed-off-by: Zheng Li <zheng.li@eu.citrix.com>
CP-4460: hide WLB's CLI cmdlet

According to the PR-1632 requirement, all WLB's API and CLI should remain and return a feature no longer available error message.

As such, we won't remove the CLI cmdlets implementation. Instead, we hide them from bash completion, to reduce their chances of being used. If a WLB related cmdlet is still called, the feature unavailable error will be eventually generated by API layer and pop through.

Signed-off-by: Zheng Li <zheng.li@eu.citrix.com>
CP-4460: remove WLB report/diagnose retrieve web services

and the corresponding cmdlets don't use API, so they need to return the feature removal error themselves.

Signed-off-by: Zheng Li <zheng.li@eu.citrix.com>
CP-4460: Remove the internal implementation of WLB interfacing components

Signed-off-by: Zheng Li <zheng.li@eu.citrix.com>
CP-4460: getter/setter/ctor/dtor etc. should inherit the lifecyle values from their corresponding fields/objects

so that when a field/object type is marked as removed, these implicit methods will reject clients with clear error message.

Note that, object/field/method types maked as removed will remain exist/effective in the DB layer, as they are also necceary in the case of upgrade (from previous releases).

Signed-off-by: Zheng Li <zheng.li@eu.citrix.com>
CP-4460: clear WLB metadata from DB during upgrade

Signed-off-by: Zheng Li <zheng.li@eu.citrix.com>
CP-4460: Cleanup some debug code

Signed-off-by: Zheng Li <zheng.li@eu.citrix.com>
CP-4460: Add some nonconvential WLB "API" back to datamodel

There are not standard API messages, but web services and errors. They don't have a concept of API "lifecycle" like the standard ones, so we can't simply mark them as "deprecated" or "removed" and take advantage of the logic in our code autogeneration engine.

Instead of removing them, we have to keep the stubs around for the following reasons:

  * SDK auto generates some binding parts out of them (as well)
  * And, XenCenter will compile with a single version of API bindings and use it talk with different versions of XenServer (hence those binding stubs have to be a superset of all the historic versions we currently support).

Signed-off-by: Zheng Li <zheng.li@eu.citrix.com>
Merge pull request #1162 from zli/xenserver/clearwater-CP-4460

CLEARWATER: CP-4460: Remove WLB