libstdc++4.8 does not support const_iterator mutators for list<> :(
make switch instruction type completely explicit in MC
don't move jump targets if there is a later jump into an inner label
allow . in assembler labels
add an "on update" block for explicit value reception

"on update from dev.ep" allows a program to explicitly request the value
from an endpoint. on (expr) blocks will no longer guard against missing
values, they now only have "do this at most once" semantics.

also remove "on packet from", since that serves no further purpose.
wrap external bigints in util::Bigint

this should make it a lot harder to accidentally construct completely
bogus bigints outside of the +-2^29 range cln accepts for ints.
give states unique ids and link to them from goto statements
add a new IR and a verifier for that new IR

this time, use a proper SSA form for intermediate code.

sadly, libstdc++ 4.8 doesn't support const_iterator mutators for list<> :(
add an IR printer
codegen for IR -> MC
add machine collector to Lang

collectMachines walks a TU and determines, for each device, which
machine of the TU must run on the device for the distributed program to
be valid. A machine must run on a device whenever that machine writes to
the device, in all other cases, the machine needn't run there.
add codegen Lang -> IR

this new codegen chain Lang -> IR -> MC actually supports all features,
and seems to support them rather well. cross products of state machines
are easy, IR is much easier to analyze than Lang or MC, and probably
easier to optimize as well.
add a proper driver for the compiler

hbc is the new compiler driver. remove hbt-lang, since hbc can do all
hbt-lang can do, and does it better.
properly count spaces preceding tabs

for example, "  \t" with tabWidth=4 has a width of 4, not 6.
fix incorrect jump target calculation in the state machine