Enhancements to ReadFMI

1. Ensure that the first packet received has index of 0 (ensures
we didn't miss the first packet).

2. Ensure the FMSN does not change mid-run (could indicate missing
packet, etc).

3. Ensure the fragment count does not change mid-run (prevents
buffer overflows on malformed input).

4. Ensure the fragment index in subsequent MME fragments is the
expected index (ensures no packets were missed).
ReadFMI update

Bail out if memory cannot be allocated instead of returning the
size of the first fragment.
Fix a bug in the BPF readpacket implementation

In cases where the incoming packet is larger than the passed buffer
length, truncate the incoming frame instead of overflowing the
buffer.
Clean up some signed/unsigned issues in readpacket for OpenBSD
Cleanup some printf warnings on OpenBSD

1. nodes/xmledit.c: length is type unsigned, not size_t
2. Define OFF_T_SPEC as %lld on OpenBSD since it is 8 bytes
Modify module chipset.c to recognize new QCA7500 chipsets.
Revert "Enhancements to ReadFMI"

This reverts commit 8e865933470b68baabd3bd548410c2532433f0c8.

These or similar changes will be added to UnwantedMessage later.
Cleanup ttyrecv and ttysend

1. Open tty's with O_NONBLOCK and O_NOCTTY.
2. Clear O_NONBLOCK flag after opening.
3. Make sure termios.c_cflag is set to CS8 | CREAD | CLOCAL
4. Fix formatting in ttysend
Update Visual Studio files.
Correct typo in local inttypes.h
Merge branch 'master' of /home/git/open-plc-utils
Update license information.
Update Microsoft project files.