Before trading start

A TradingAlgorithm method called before each trading day.  

This method is called after initialize, but before the first bar of each trading day, with the algo's current datetime set to midnight of the next bar's datetime.
I've been using `TradingEnvironment.instance()` where possible to make the singleton-ness of the environment more clear.  There's plenty of legacy places where this is still used as written though, so might just warrant one big cleanup elsewhere.