cxxrtl: add .get() and .set() accessors on value<> and wire<>.
cxxrtl: add .get() and .set() accessors on value<> and wire<>.

For several reasons:
  * They're more convenient than accessing .data.
  * They accommodate variably-sized types like size_t transparently.
  * They statically ensure that no out of range conversions happen.

For now these are only provided for unsigned integers, but eventually
they should be provided for signed integers too. (Annoyingly this
affects conversions to/from `char` at the moment.)

Fixes #2127.

cliffordwolf/yosys,cliffordwolf/yosys,YosysHQ/yosys,cliffordwolf/yosys,YosysHQ/yosys,SymbiFlow/yosys,cliffordwolf/yosys,antmicro/yosys,cliffordwolf/yosys,antmicro/yosys,SymbiFlow/yosys,antmicro/yosys,antmicro/yosys,cliffordwolf/yosys,YosysHQ/yosys,SymbiFlow/yosys,cliffordwolf/yosys,antmicro/yosys,SymbiFlow/yosys,antmicro/yosys,YosysHQ/yosys,antmicro/yosys,SymbiFlow/yosys,YosysHQ/yosys,cliffordwolf/yosys,YosysHQ/yosys,YosysHQ/yosys,antmicro/yosys,SymbiFlow/yosys,cliffordwolf/yosys,SymbiFlow/yosys,YosysHQ/yosys,SymbiFlow/yosys