* Add an option for flutter daemon to listen on a TCP port
Added a new class DaemonConnection to reuse the connection handling
between daemon server and client, and handle connection with different
medium (stdio, socket).
Added a new option `listen-on-tcp-port` to the flutter daemon command,
when passed, the daemon will accept commands on a port instead of stdio.
* Review feedback and add test for TcpDaemonStreams
* Review feedbacks