Implement tetengo2::concurrent::progressive_future #38