Merge branch 'devel'
First draft code and tests for updating environment for DB2
operations.
Use util.env_update() to set the environment before attempting DB2
operations.
Removing obsolete code
TCC report file should be open for append, not write.
Select next N object/bitfile ids rather than up to a specific object
id which may not give as many as we want in one chunk.
When we persist the Checkable at the end of check(), log the fact
along with the values of fails and last_check.

In Checkable.verify(), don't give up on timeouts unless before is
empty. If we're no longer getting anything from hsi, give up, but if
we're still getting non-error verbiage, keep waiting and expecting for
a prompt or an error.

In HSI.quit(), don't generate an exception on a timeout. Just catch
it, close the child connection, and quit.
cvtool.py:
 - Allow for running Checkable.check() interactively so it can be
   debugged easily (function test_check). Also added show_next
   function so we can easily check which HPSS file will be processed
   next (essentially, this just calls Checkable.get_list() to retrieve
   a list of entries in the checkables table ordered by last_check).

hpss.py:
 - Use the same logic in hashcreate as hashverify to persist through
   timeouts unless the before buffer is empty, indicating we're
   stalled. Log the timeouts so we can see what's going on. Append the
   last before buffer to rval in hashcreate() and hashverify().
 - Catch the error that means that an attempt to store a checksum failed.
 - In HSI.quit(), catch, log, and ignore OSErrors thrown on sendline()
   or close()
If new data root directories are added to the config, incorporate them
into the checkables list. Unit test and code added.
Fix minor error in CheckableTest.test_persist_dir_invalid, add
hpssTest to full list of tests in all script.
Merge branch 'hsitmo' into devel
Merge branch 'env_update' into devel