Properly update head_ready to avoid staying ready forever

This closes #115 where the false readiness caused an infinite loop in
add#get_frame. The missing update of head_ready dates back to very long ago,
but was harmless until eb42975 where head_ready started being used in #is_ready.
That change was related to e0b8325, where we realized that there are legitimate
situations where an operator can call #get on a source that is not ready, in
which case #get (of the base source class) silently inserts an end of track
without calling #get_frame (of the derived class). The use of head_ready in
sequence#is_ready makes sure that #get_frame is always called, so that source
cleanup is done whenever possible.
Merge pull request #120 from savonet/LS-115

Properly update head_ready to avoid staying ready forever