Snake oil has long had a bad reputation as an expression for a sham or fraud, but for centuries it was a common and uncontroversial treatment for a range of ailments.