Numerous small issues fixed

* Problem: assumes license block occurs exactly 1 time
* Solution: output license block 0..N times

* Problem: generates incorrect BNF for signature (%xAA %dn)
* Solution: correct BNF is %xAA %xAn

* Problem: generates C: on BNF, for all messages
* Solution: add 'role="client|server"' property to messages

* Problem: generates duplicate variables for frames
* Solution: wrap frames in { } to isolate local variables

* Problem: no way to trace invalid messages received
* Solution: add -trace:1 to message codec on receive

* Problem: generates new server code with bad include paths
* Solution: use $(class.header) in skeleton code