Another tool to look at is vpncloud (https://github.com/dswd/vpncloud). It also builds a mesh network over UDP. Key setup is a bit easier, static keys are only used for authentication. Encryption keys are dynamically generated and replaced on a schedule.
I combine it with an ansible script to push out the (minimal) configuration to end nodes.