On Error Floor and Free Distance of Turbo Codes