Fundamentals of Convex Analysis: Duality, Separation, Representation, and Resolution