implement a experimental keepalive feature (issue: #115)

To avoid this issue, I implement a simple keepalive function only using the current net-ssh's methods (using no threads).

- Add a function that sending a SSH_MSG_IGNORE packet when the IO.select was timed out.
- To control the keepalive behavior, add two options to the start method. 'keepalive' and 'keepalive-interval'.

I think that this patch would not change the current Net::SSH's behavior, if the keepalive option would be set to true.