Avoid using OpenSSL's random number functions.
Don't pass uninitialized bytes to ioctl().
Don't use myself->name in device_disable(), it's already freed.
Fix memory leaks found by Valgrind.
Use void pointers for opaque data blobs in the SPTPS code.
Add a variable offset to vpn_packet_t, drop sptps_packet_t.

The offset value indicates where the actual payload starts, so we can
process both legacy and SPTPS UDP packets without having to do casting
tricks and/or moving memory around.