Macroeconomic Forecasting under Regime Switching, Structural Breaks and High-dimensional Data