A Multi-Factor Model of Idiosyncratic Volatility