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.
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...
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'.
merge from lp:openpetraorg