Separation Functions and Optimality Conditions in Vector Optimization