protocol: support building programs with custom options
 * introduce new RCL operation BUILD_PROGRAM

Signed-off-by: Pawel Dziepak <pdziepak@quarnos.org>
rlcd: introduce support for opaque data in kernel arguments
 * kernel argument types are analyzed during creation

Signed-off-by: Pawel Dziepak <pdziepak@quarnos.org>