Add IList.Swap extension method, fixed some errors in preconditions of other list extensions.
Provide more intelligent exception when IList.Swap fails.
Minor code clean
Merge branch 'master' of https://github.com/LeagueofGeeks/csharp-kit