Replaced BackgroundThread executor for daemonic threads

I was reading the documentation on the executor that was used
on that function and it is meant for long running tasks.
The VPN checking tasks is a very brief task not meant to stay,
therefore I performed a test on which I executed this task
100x faster with daemonic threads and left FrostWire running for
2 hours and could not replicate the crash.

I also made tests without running the VPN check to see if this
had anything to do with the AWT-thread hiccup I get on my virtual
machine but the issue is still there, so that's a separate issue.