Extend highlighting of inactive accounts and cost centres to other finance forms and add missing functionlaity in GL Batch not found in Recurring GL Batch
Uncrustify plus additional code for handling inactive accounts and cost centres
Further fixes to submit batch code to handle inactive accounts/cost centre codes
Added code to deal with inactive bank accounts/cost centres in Recurring Gift Batch
Re-arrangement of the classes that hold common Exceptions. The goal is to allow Exceptions from those Classes to be used in Ict.Common.DB so more specific Exceptions than just ones of Type 'Exception' can be thrown (e.g. EAccessDeniedException instead of Exception).

Through the re-arrangement of the Exception Classes the namespace 'Ict.Common.Remoting.Shared', in which most of the Exceptions have previously been declared, can be removed from many 'using' clauses in many files, leading to a cleaner design as many C# files only referenced that Namespace because of the Exceptions, which isn't that 'clean' as it makes the files look as if they depend in any way on remoting, which in reality they don't depend on!
Fix (missing) disposal of ADO.NET objects in the OpenPetra Data Access Layer. Some small further improvements incl. Logging, code centralisation, code comments and XML Documentation, too.
Adjust callers of the SelectDT Method - the DataTable name must no longer be an empty string.
Some improvements to the PostgreSQL.cs and SQLite.cs files - mainly to streamline the two code files and XML comments as I was going through those anyway, looking for potential places where Dispose() calls might need to be added.
* Connection Strings, and UserName and Password are now evaluated for null and not just for Length 0 or emtpy string.
* Functional changes: a new Exception Type, 'EDBUnsupportedDBUpgradeException' is now thrown instead of the Type Exception in case of an unsupported DB upgrade.
Fixes to Gift Batch to handle inactive codes set before save
Post merge with trunk
Similar improvements to MySQL.cs than the ones contained in the previous commit to the PostgreSQL.cs and SQLite.cs files.

I wanted to test the improvements (as I did for PostgreSQL and SQLite) but ran into other issues that we currently have with MySQL when loading data as part of 'nant recreatedatabase' - so I can't vouch for that commit to be 'all good', but believe that there should be no serious problems with my changes. As supporting MySQL is currently not of priority I am happy to commit these changes...
Uncrustified, merged etc and ready for trunk.
merge from lp:~chris-thomas/openpetraorg/dev_20130930_Finance_GLBatchGiftFixes
Added a NUnit Unit Test that proves that TDataBase.ExecuteNonQuery is working fine when a previous call to TDataBase.ExecuteNonQuery raised an Exception in the RDBMS driver.
merge from trunk
uncrustify
Reformat readme file so it contains proper line breaks for the Windows OS.
merge from my branch '20131004_dbaccesslayer_fix_disposal_of_adonet_objects'.
TDataBase Class: Added another 'safety net' that is recommeded in case things go wrong with DB connections: put a try/catch block around RollbackTransaction calls. MSDN and several bloggers on the Internet recommend that...