fixes Bug 865142 - all hex addresses to be replaced with <addr>

This PR corrects the behavior where some hex addresses were not being replaced with the generic '<addr>' string.  Refactoring also makes the code easier to follow and lays the foundation for correcting a more fundamental colon delimiter problem. Comments within the code show how to resolve that problem if it becomes desirable in the future.