[NB] Auto-generate C++ command-processor class...

Auto-generate C++ command-processor class based on `Node` class methods.

As discussed in 65cc5255, change protocol buffer union message format to
match the `nanopb` reference pattern.  This prevents the size of
`nanopb`-encoded responses from growing with the number of response
types _(i.e., the number of commands)_.  As of this commit, the size of
each `nanopb`-encoded response is dependent only on result type.
See `simple_rpc/libs/nanopb/examples/using_union_messages`.
Rename ram_size method to total_ram_size

Rename `Node::ram_size` method to `Node::total_ram_size` to avoid
infinite recursion, since the method makes a call to `ram_size()`, which
is also the name of a global function.
[NB] Add Arduino digital/analog IO methods to Node
Fork `simple_rpc` to `arduino_rpc`.
Simplify Node class, remove simple_rpc naming