Made warm reboot default.
Refactored command and response code.
Refactored command and response code. Use io.CopyN() for transfer.