This commit introduces an updated design for Composition Functions.
Under this design Functions are long-running processes, like Providers.
Crossplane makes RunFunctionRequest RPCs to a Function using gRPC.
This updated design also sketches out an improved Function development
experience, as well as a few hypothetical 'generic' Functions. A generic
Function is a Function that works with any XR. Generic Functions extend
Crossplane with new ways to express Composition logic without actually
needing to develop a Function of your own.
Signed-off-by: Nic Cope <nicc@rk0n.org>