Fix a crash in reports using the mysql storage backend.
This crash was caused by the fact that the report, after requesting the transaction list, did not check that the transactions are inside the requested date interval. Since the date is used to compute an index in a columns list a date outside the requested interval would cause an invalid index to be computed and causing the crash. Now the report performs a validity check of the date after filtering the transactions. Also fixed the SQL backend implementation to properly filter by dates even if an empty split filter is provided. Also added a testcase for this scenario. BUG: 312676 (cherry picked from commit cad7ecbc)