Add some plumbing for report changes - test framework plus some utility methods

Author:    Peter Broadbery <p.broadbery@gmail.com>

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23021 57a11ea4-9604-0410-9ed3-97b8803252fd
Reports: Add collector-into-list function.. turns the idea of adding stuff to a
list into a collector.

Author:    Peter Broadbery <p.broadbery@gmail.com>

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23022 57a11ea4-9604-0410-9ed3-97b8803252fd
Reports: Add collector functionality for side effects..
function-state->collector; turn a function/initial state into a collector
collector-do: Like collector-map, but only return the result of the first collector.
	It's assumed the other collectors are invoked for their side effects.

Author:    Peter Broadbery <p.broadbery@gmail.com>

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23023 57a11ea4-9604-0410-9ed3-97b8803252fd
Utils: Add "gnc:timepair?" function; useful for ensuring functions are called in a type-safe way.
Add gnc:timepair-next-day

Author:    Peter Broadbery <p.broadbery@gmail.com>

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23024 57a11ea4-9604-0410-9ed3-97b8803252fd