fix displaying transceiver channel info in the CLI
fix displaying transceiver channel info in the CLI

Summary:
This fixes a crash in the CLI when trying to display transceiver info.

Previously "port status --verbose" would crash if called with a port that
consisted of more than 1 channel (e.g., 40Gbps ports), or if it was called with
only some ports for a given transcevier (e.g., if it was invoked with just one
10Gbps port in a 4x10Gbps QSFP.)

This fixes the CLI logic to better handle channel <-> port mappings.  Currently
we make an extra call to getAllPortInfo() to get the port speeds, and we
determine the number of channels from the port speed.  I also updated the
thrift API to support reporting full channel info correctly in getPortStatus(),
but I haven't updated the agent to return the new field yet.

Reviewed By: jasmeetbagga

Differential Revision: D2653990

fb-gh-sync-id: b5297d62f46ba939db3febf5ca4bfd641bfd729a

neuhausler/fboss,neuhausler/fboss,peterlei/fboss,neuhausler/fboss,peterlei/fboss,peterlei/fboss,neuhausler/fboss,peterlei/fboss