refactored command-line to handle a concept of card formatters and "search-by" as options; new unit tests for the cli feature; new make targets to support granular testing due to the synchronous (slow) nature of the cli tests