WifiPpdu refactor
Refactored WifiPpdu to each amendment-specific classes. Currently the inheritance diagram looks like this:
+ WifiPpdu
+-- DsssPpdu
+-+ OfdmPpdu
+-- HtPpdu
+-- VhtPpdu
+-- HePpdu
WifiPpdu is the base class and I put main functions: GetTxVector and GetTxDuration as virtual.
DsssPpdu models PPDU with 11b header (Short/Long preamble).
OfdmPpdu models PPDU with Legacy header (L-STF, L-LTF, L-SIG), and used by OFDM and ERP-OFDM modulation.
The rest models HT, VHT, and HE PPDUs, each dependent on OfdmPpdu since it still need Legacy header.
We also created BuildPpdu function on each PHY entity class to handle amendment-specific PPDU creation.
Additionally, we moved the XXXSigHeader classes from wifi-phy-headers.{cc,h} to the respective amendment-specific PPDU classes (as nested classes), since it is only used on those PPDU classed.