Extract #find_all_or_warn pattern into method

Every list command followed the same pattern of showing everything if no
args are passed or filtering if some were whilst warning if the ID can't
be found.

Apart from the warning becoming generic this behaves as before whilst
simplifying things.
Merge pull request #45 from brightbox/extract_find_all_or_warn_pattern

Extract #find_all_or_warn pattern into method