This commit contains corrections to the source code of the Ict.Common* Assemblies (and any changes to other code files that result of those changes). These changes are non-breaking and won't alter the functionality (but fix it in some cases). These changes improve the 'correctness' of the code by removing superfluous Arguments and Fields.
The 'defects' were highlighted by a run of mono's 'Gendarme' tool (conceptually similar to Microsofts' FxCop) on the Ict.Common* Assemblies. 

* The single Rule that is responsible for most corrections is 'AvoidUnusedParametersRule' (more than 50 defects fixed because of that). This is a rule that isn't present at all in FxCop but has proven to be very helpful! 
** While that kind of defect is not serious in itself, these defects point out code that isn't doing what it purports to do when a software engineer looks at the Arguments of a Method and perhaps even its XML Comment (where present) when that Argument is then never used in reality by that Method! Also, by removing the superflous Arguments the code became simpler, and in some cases even Method overloads could be removed.
** However, some bugs-waiting-to-be-discovered were fixed because that Rule highlighted important pieces of code that were not working as they should:
*** Three Exceptions would have never been properly serialised!
*** One Exception inadvertedly always 'swallowed' the Exception's Message (EPartnerKeyOutOfRangeException)!
*** A call to StringHelper.DateToLocalizedString meant that Time was always included although there was an Argument to not have it do that (which was ignored)!
*** A call to TsgrdDataGrid.AddCheckBoxColumn always auto-sized the CheckBox Columns' Width instead of making it 'AColumnWidth pixels' wide!
*** A call to TExcel.AddChart included three bool arguments which sounded very useful, but they were never used!
*** A call to TClientManager.QueueClientTask included an Argument 'AExceptClientID' which sounded very helpful, but it was never used!
... and a few more!
*** One definite DB Access perfomance improvement has also been achieved: Calls to TTypedDataAccess.GenerateWhereClause included two Arguments that were not used in that Method. In order to build the value for one of those Argument a string Array needed to be populated with a foreach loop that needed to go over all Columns of a Typed DataTable (by calling TTypedDataTable.GetColumnStringList). Such calls to TTypedDataAccess.GenerateWhereClause were e.g. included in CountUsingTemplate code, which is used in many places, esp. in the Cascading Count Methods!

Some other changes:
*** A call to TclbVersatile.DataBindGrid always included the Argument 'ALabelColumn' although it is not used at all in any of the overloads. That simplified quite a bit of code in many places!
*** A call to TcmbAutoComplete.FindStringSortedByLength included an Argument 'StartIndex' which wasn't evaluated, but was even documented to do what the developer expects of it doing, without doing anything with that Argument!
*** A call to TTypedDataAccess.InsertRow, TTypedDataAccess.GetParametersForInsertClause and TTypedDataAccess.GetParametersForUpdateClause included the Argument 'ATransaction' although it isn't needed and not used in those Methods!
... and many others!

* The 'AvoidAlwaysNullFieldRule' highlighted two defects that I fixed. That rule is also not present in FxCop.
merge from trunk
merge from Branch 'lp:~christian-k/openpetraorg/dev_20140204_code_correctness1'