Responding to chemical gradients: bacterial chemotaxis