From snorkelling with whale sharks to exploring magical towns, here are the best things to do in Baja California Sur.