Here is a way to do it, maybe there is a simpler way?
- Create your shape profile, keep the origin where the pivot point needs to be.
- Add a Screw modifier to your object, with a 360° Angle, play with the Screw factor, add some Steps to make the mesh smoother, choose the amount of Iterations you need.
- Apply your modifier in Object mode
- Go in Edit mode and W > Remove Doubles so that the mesh vertices join themselves and leave no gaps between the iterations, play with Merge Distance factor on the bottom of the T menu.
- Cut the top of the mesh
- Merge some vertices on the top edge loop to simplify it.
- Flatten it in the Z axis with S+Z+0
- With the top edge loop still selected, enable the LoopTools addon, if it is not already, and make a W > LoopTools > Circle.
- Extrude this top edge loop.
- Do the same thing for the bottom (clean the mesh, make a circle, extrude...)
- Give your object a Subdivision Surface modifier to smooth it, and click Shading > Smooth in the T menu.