Add support for extended RCODEs and detect bad RCODEs

A too high RCODE previously would have simply corrupted the packet.

Logic put in PackBuffer because Rcode is public and can be changed anytime