Public Session Constructor/Threaded Sessions Updates

Hi Patrick,

Hope you are doing well.

I realized that the last time that I pushed to NuGet, I had not gotten the latest changes you made for making the regular Session() constructor public.  In addition, I found that in the End() method of Session, if I add a call to set the Driver to null, it actually improved performance when closing particularly with the InternetExplorerDriver.  

Also, I came up with a better solution for Session&lt;TDriverEnvironment&gt; called Threaded&lt;TSession&gt; that doesn't force me to constantly reference the environment or call an additional .Current property before being able to reference other aspects of the Session.  In addition, I have made it work with any type of Session (base or derived) so that new session types in the future such as MobileSession from HammerTime's project can leverage the functionality.

I hope you like the changes and will pull them in so that I can deploy to NuGet.org.

Hope this helps,


Todd