Use argparse; add option to specify JSON config file

There is a global dictionary named CONFIG. Initially it contains default
values, but a JSON configuration file can be provided using the
`--config` flag. The values set in the configuration file will overwrite
the default settings in the CONFIG dict.

Several function argument defaults changed to None (with a conditional
inside to use the default value from CONFIG) because the configuration
file is not read until *after* the function definitions are executed.
Support multiple STUN/TURN servers in config files

The support is very rudimentary. The configuration's structure can hold
multiple of each type of server, but the code that accesses the
configuration currently just uses the first one from the list.

This commit also adds a sample JSON configuration file.
Make the controller pick a random STUN server
Fix handling of turn server configuration

We now randomly select a turn server from the configured servers, and we
pass empty strings if no turn servers are configured.
Split imports onto separate lines

PEP 8 agrees: http://www.python.org/dev/peps/pep-0008/#imports
Merge pull request #2 from kalgynirae/configfile2

Configuration file support, try 2
Read XMPP info from config file instead of CL args

Additionally, the XMPP password can be omitted from the config file; the
user will be prompted to enter the password when the controller is run.
Merge pull request #3 from kalgynirae/bye-bye-arguments

Read XMPP information from the config file instead of command line args
Removing vpn_controller.py to avoid confusion