Directionally generalized differentiation for multifunctions and applications to set-valued programming problems