This commit introduces a new API server based on the gRPC/Protobuf. The
API follow the design of the existing xml-rpc to ease the transition to
the new server and support the current state management engine.
Both API servers can be run in parallel.
Main changes:
- Decouple Generic and XMLRPC specific logic and add gRPC classes.
- Source code re-structure to include logic for each server
- New compilation options to generate gRPC stubs
- Client code for C++, Ruby, Python and Go
co-authored-by: Jan Orel <jorel@opennebula.io>
co-authored-by: Pavel Czerny <pczerny@opennebula.io>
co-authored-by: MarioRobres <mrobres@opennebula.io>