Mycobacterial evolution and adaptation through comparative genomics