More explanation of black magic.  No logic changes. All regression tests pass.
Fix buggy -k option, and fix the broken test for it.

Thanks to Robert deBath for pointing out this one.
Make it easier to set test options.
Fix broken -R option.
With --reposurgeon, Suppress incorrect emission of properties on 'D' opts.
Upgradethe regression tesrs to verify the --reposurgeon option.
Add --embed-id option to edit commit message.

This adds the CVS revision numbers of the changes in this commit as
extra lines on the end of the commit message. Each revision identifier
is preceded by a 'CSV-ID:' tag to allow easy searching.

Putting the old CVS revision identifiers in the git repository in this
way is preferable to attempting to find and replace all the old references
because that is simply impossible. It may be that all the references
within the repository can be found, but if the application has ever been
published it becomes impossible to guess where references might exist,
let alone fix them.

In addition it provides an unambiguous identification as to which commits
originated in CVS in the event that they are 'cherry-picked', rebased or
otherwise duplicated.
Add --expand=k command line option.

If the "-k" option or "--expand" without an argument is given the
tokens will be expanded in the standard form: $key: value$

The default is to copy the $Id$ tags unchanged from the CVS file as
this is faster than searching for the keywords.

This is normally the same as leaving them as "$Id$", BUT sometimes
the repo has these keywords expanded INSIDE THE REPOSITORY.
For these cases the option "--expand=k" will trim the tags down to
the unexpanded form even if they are expanded in the repository.

All the forms from the 'expand_override' function are accepted; though
probably not useful.

--expand=kv	default form, $<key>: <value>$
--expand=kvl	like KKV but with locker's name inserted
--expand=k	keyword-only expansion, $<key>$
--expand=v	value-only expansion, $<value>$
--expand=o	old-value expansion
--expand=b	old-value with no EOL normalization
Document new options.