Wireless Full-Duplex: From Practice to Theory