Optimization for RC4 encryption

RC4 uses the same key stream for encryption and decryption, and we can reuse the initially create key stream for new connections. So only a single call to `rc4_init` is needed.

Other minor changes:

- Added `-h` option
- Use exit instead of abort upon invalid command line option (abort in this case is a little annoying, I thought there's bug at first)