Added the ability to create a step library of steps that can be referenced from multiple scenarios.

This allows you to compose steps in much more flexible ways than relying on inheritance (favor composition over inheritance).
Added support for strongly typed context objects for sharing state between steps.
Removed the concept of a StepLibrary and replaced it with a shared Step base class. This allows you to share steps in a more strongly typed way.
Added support for using the IoC Container within a shared step class.
Added a fluent API for defining scenarios.
Added Autofac support to the FluentScenario's.
Added some initial ScenarioOutline support to the Fluent scenarios. Still need to add support for step classes to accept parameters from an outline.
Added support for passing scenario outline parameters to step classes.
Added Autofac support for the Fluent scenarios.
Remove unused namespace which caused a build failure
Move And & But to hang off a fluent object that is returned from Given/Then
Merge remote-tracking branch 'origin/fluent' into 2.0

Conflicts:
	src/IoC/Autofac/AutofacScenarioTest.cs