Add documentation of content-type detection strategy

Also refactored to make the strategy hierarchy clearer