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.

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)