improved unit tests

improved resiliency when a key is already present
added verbosity flag to unit tests
use ‘-v’ or ‘—verbose’ to print debug output
updated architecture diagrams

improved clarity based upon feedback from Adel