1. CMakeLists.txt added to automatically obtain the revised version number from the git repository.
2. Adjusted some header files to fix Windows platform compilation errors.
3. Eliminate some compilation warnings.
Even though the supernode resolution failed, sendto was called with
and invalid socket, resulting in the following error:
ERROR: sendto failed (13) Permission denied
It seems the previous `route.net_addr == INADDR_NONE` check was incorrect and was probably a result of copy-pasting the previous if statement and not changing the condition.
Callbacks allow n2n API users to extend n2n without modifying the upstream code. This also allows us
to move the hin2n code, which is specific of android, out of the n2n repository.