Can't fully rotate object with quarternion rotation enabled In the process of animating, I have come to realise that my rig is doing a strange twirl, which isn't desired.

It's very easy to emulate, simply open a new file and set the cube's rotation setting to Quarternion, and then keyframe it at it's base position, and then keyframe it 360 degrees around any axis. When you hit play, it doesn't rotate.

EDIT:

Thanks to FFeller for pointing the idea of intermediate keyframes, which solve the problem on the basic cube, but on my rig, which was generated by rigify, it still applies. It seems eerily similar to a gimbal lock problem, but aren't Quarternions supposed to solve that problem?

As such, how can I solve this problem, as more intermediate keyframes don't seem to work.
Quaternions are only in the range of -1 to 1, and so 0 and 360 (and 720 and 1080 etc.) are basically identical.  That's why the cube doesn't rotate, because it has nowhere to go.  

Quaternions also generally take the shortest path. That's why you need multiple keyframes. The algorithm might be deciding that it's quicker to go back the way you came vs. go forward, which gives you undesirable rotations.  More keyframes should solve it.