A fix and a test case for https://github.com/tarantool/tarantool/issues/119

A dead fiber could get reused prematurely or garbage collected twice.

This was because __gc could get invoked way after the fiber has
finished and reused for a different coroutine.

The fix is to always access fibers in Lua by fiber id.