If any part of the code had a packet object and called prepare()
on it, it would create a msgNo if it wasn't set. Sometimes we
get packets on the wire/RF that don't have a msgNo, so adding one
locally is wrong. We should ONLY create a msgNo on a packet that
is destined for transmission.
This patch ensures that even if prepare() is called, that only
packets that are created locally for TX get a msgNo unless it
already exists from RX'd packets.
this patch removes the need for dacite2 package for creating
packet objects from the aprslib decoded packet dictionary.
moved the factory method from the base Packet object
to the core module.
This patch removed the dependency on flask-classful. This required
making all of the flask web routing non class based.
This patch also changes the aprsis class to allow retries for failed
connections when the aprsis servers are full and not responding to
login requests.