Bug fix: prevent recursive call to "finish" callbacks

In some rare and stupid situations, "finish" callbacks can be called recursively (see the test). This patch fixes the bug by introducing \_is\_finished flag attribute.

Now that \_is\_finished flag ensures the finish callbacks are called only once, I removed the code that cleared \_finish\_cb. So the behavior is rolled back to versions <= 0.18