Port forwarding now working

can forward http traffic from milliways.bcit.ca, bigger sites an issue.
ssh works too, but packets corrupted for the service.

Implementation with select not working due to recvfrom_nonblock
appearing to not do anything.
Fixed some issues with port forwarding functionality

There was many chances for blocking before. Fixed by using select and
switch from recvfrom_nonblock (UDP) to recv_nonblock (TCP)

Threaded both calls so they both have a chance to select and not be
missed by an IO or Errno rescues.
Comments and code clean up

- Function comments completed
- File header completed
- Whitespace and unused variables removed
- Code reorganized
Merge branch 'test'