Convex Methods for the Design of Structured Controllers