Split vpnaunchers by platform, refactor some code.
Replace launcher with new implementation.
Add changelog. Closes #2858.