Resolve the projectile shape for transonic corrections (MBA-949). A user-supplied bullet_model
name (boat/bt, round/rn, flat/fb) takes precedence; otherwise fall back to the caliber/weight/
drag-model heuristic below. This name-parsing previously lived in cli_api and fast_trajectory
but NOT derivatives, so named shapes were silently ignored on the integrate_trajectory path.
Sharing one helper makes all three solver families resolve the same shape for the same inputs.