Expanded the log timing abilities

Added BeginTimedScope extension to ILogger which returns a disposable ITimedScope
The BeginTimedScope usage allows for the same logging style as ILogger (messageTemplate and params object[]) to keep consistency as well as more powerful logging
ITimedScope supports the (optional) setting of a completion message (if not used the message provided to BeginTimedScope will be used again with a completion preamble)