Casper service to provide a connected socket
- lets user initialize allowed destinations in cap_socket_init(). destinations are of type "socket_type:hostname:portnumber" eg. "tcp:www.google.com:80" Hostname is mandatory while socket type and port number have sentinel value to allow any. eg. "any:127.0.0.1:-1" allows any connection to localhost
- cap_socket_connect() attempts to connect to destination provided if it's allowed. From what I've been seeing the user should pass a full destination. eg. "tcp:www.google.com:80" passing "any" or "-1" might cause socket() or connect() to fail.