Rework testing of trimming of operations with no side effects

The previous test was bogus. The only call it trimmed was glxSwapBuffers
which is actually invalid, (this call definitely does have side effects,
but can easily be trimmed if desired with --trim-spec=drawing).

The new testing here uses a trace from a new program, (source
included), called few-side-effects which simply makes various calls
that do not have side effects, (such as glGetIntegerv and
glIsEnabled).

Then, the testing exercises the two independent mechanisms available
for trimming calls without side effects:

    trim --prune

	Trims calls within the user-specified range without side
	effects.

    trim --deps --trim-spec=no-side-effects

	Trims calls outside the user-specific range without side
	effects.

Three new tests are added here, one for each of the above cases and
one for both combined, (prune, trim, and prune-and-trim).
cli: Add test for "apitrace trim" with both --calls and --frames

This case was triggering a bug in "apitrace trim" where it would
incorrectly bail out after going past the last specified call (or
frame) without noticing that there were still further frames (or
calls) to be processed.
Add --exact to trim tests expecting exact trimming

By explicitly specifying --exact, these tests are now immune from any
change in the default behavior of "apitrace trim", (wheter --exact or
--auto is the default, these tests will get exactly the behavior they
want).
Merge all of Carl's currently proposed feature branches:

The brances merged here include:

	cworth-bug-fixes
	trim-more-no-side-effects
	trim-auto-by-default

Each branch corresponds to a branch of the same name in the apitrace
repository.

This merge does involve some manual merging for correct
behavior. Specifically, the trim-more-no-side-effects branch adds some
new tests, for which the trim-auto-by-default branch would like
different command-line arguments. So in this merge, we add --no-deps,
--no-prune, or --exact to those new tests as needed.