The main idea of the patch is to get rid of using custom formatting in
cat-file and start using general one from ref-filter.
Additional bonus is that cat-file becomes to support many new
formatting commands like %(if), %(color), %(committername) etc.
Updates since last review:
In [PATCH v3 16/23] ref-filter: make cat_file_info independent
is_cat flag is hidden into global cat_file_info variable
Also make some minor refactoring.