Turn ThreadLocalShotgun into ShotgunPool

It is much more efficient this way.