Hide empty transaction cfs via new ShowCustomFields option

As noted in the commit, 61a2dea49 removed code that had
previously hidden transaction cfs with no value in the
transaction history. Transaction cfs were shown for create,
comment, and reply whether they had a value or not. After
that commit, transaction CFs with no value are shown in
every transaction (a label with (no value)).

This commit explicitly adds back the hiding behavior to prevent
repeatedly showing labels for empty CFs and cluttering the
transaction history. However, this changes the behavior from
RT 4.0 in that it also hides transaction cfs with no value on
create, comment, and reply transactions also.

Resolves issues ticket 29757
Merge branch '4.2/hide-empty-cfs-option' into 4.2-trunk