rewrite of todorb
rewrite of todorb

1. new_change_items so we can check for non-existent items
2. standardization of messages and output
3. ERRCODE and 0 to facilitate testing or integration with
   other tools
4. rewrote a few operations using above new_change_items and
   phasing out earlier one.

rkumar/todorb,rkumar/todorb