heteroautotroph