Add tests to support session dependencies
Recognizes infeasibility if a dependency session is scheduled after a dependent session. Still need to handle the situation.
Implement Engine_Process_ShouldRespectDependenciesBy.ReturningTheOnlyPossibleAssignmentIfTheFirstSessionIsDependentOnTheSecond and Engine_Process_ShouldRespectDependenciesBy.ReturningTheOnlyPossibleAssignmentIfTheSecondSessionIsDependentOnTheFirst
Refactored for goodness
Refactored AssignmentCollection into AssignmentExtensions for consistancy (collection methods for existing entities done as extensions, for use-case specific objects done as collections).