Configuration file support

The commit messages are quite in-depth.

I've only tested these changes to the point of running a single instance of `svpn_controller.py`. So, the `argparse` stuff *is* tested and the JSON file loading *is* tested, but reading values out of the `CONFIG` dictionary is *not* tested (although I have looked at it multiple times and am fairly certain that it works).

I don't know whether you want to merge this now or wait until I've fully tested it, but I figured opening the pull request early to get feedback was a good idea.