How to add armature controls?
These bone controllers are in fact extra bones themselves.

In Blender, controls for a rig are usually implemented as bones in that rig with the deform checkbox disabled (this checkbox tells the armature modifier to whether to consider a bone or not for calculating the mesh deformation). The rigger will then make use of various constraints to define how they control the deforming bones in the rig.

Control bones often use custom bone shapes to give each controller easily recognisable and understandable shapes. These shapes are defined other meshes that have been hidden away somewhere in the scene (on a hidden layer prior to 2.8 or in a hidden collection (2.8+)). Unfortunately Blender does not come with an easy to use library of these, although the Rigify addon will generate quite a few if you use it to generate a rig.