Modify pwsafe Itcl reader/writer objects to utilize modern Tcl error
reporting.

This is a preliminary step towards moving the storage of the pwsafe
file HMAC value used to detect file changes by another process into the
Itcl object.
Move storage, access, and updating of file HMAC into Ictl object.

This fixes a bug that only exhibited during a merge operation where the
second DB that was merged improperly overwrote the HMAC of the main
loaded DB.  This then produced the effect of a fake change to the main
loaded DB.  Storing the HMAC in the Itcl object provides independent
storage for each opened DB, preventing any fake change notices due to
the original overwrite.

Note, this commit only works with V3 PasswordSafe files.
Changes to enable external file change tracking for V2 database files.

The V2 format does not have an overall file HMAC value.  But it does
begin with 56 bytes of data that based upon the file format definition
should work reasonably well as a file change test string.
Move the C string null terminator removal code from main Gorilla into
Itcl pwsafe DB reader object.