Add vpn

In response to issue #16, I wrote some code to manage VPNs as clients. There are two components to the code: the module client.openvpn that starts and stops the VPN and vpn.py that parses the configs and hands them off to centinel to run as normal clients after starting the VPN.

The configuration generation code seems to work, but I won't be able to fully test it until I can get the server going (python-flask-httpauth isn't available on Ubuntu 14.04 or Debian Wheezy, it's only available on dev versions of Debian (Jessie and Sid) and Ubuntu (14.10))

@gsathya, let me know if you want to merge now and push updates or wait until we have more complete testing after I can test against your server. 
I don't think this works. Are you suggesting that I split it up into a set of characters? because that doesn't preserve order, which is a problem. If you're suggesting that I split the string into a list instead of a long string, I can do that, but either way I don't think string search optimizations are necessary here. Remember "premature optimization is the root of all evil". If we actually start to care about performance, we can profile it and make evidence based concerns about where to optimize, but this change does not provide the same semantics and seems unnecessary.