I'd say this is exactly what you are looking for: geometry_msgs/PolygonStamped. That contains a standard header as well as a geometry_msgs/Polygon message that is basically the same as yours (but uses 32-bit floats instead of 64-bit doubles).
A bonus to using geometry_msgs/PolygonStamped instead of the non-stamped version or your own message is that you get the RVIZ Polygon display for free :-)