Modifications to default packet creation and response behavior

Default initialized packets now include the version number and server
indicator to better match the checks in fill_server_values function. The
fill_server_values function now aborts (returns false) if the version
number is not set to 4. This should only happen when get_read_buffer is
used to overwrite the version number, to some other value.
Adding test client

Test client sends 3 packets: (1) one with bad version number, (2) one
with invalid length, and then (3) a valid packet. Only a single response
is expected (from 3), and then that packet is replayed, but no response
is expected.

There is still an issue with higher number of rounds, where the test
fails on ocassion. Need to investigate.