Bloom Energy drops 40% ahead of July 28 earnings with $20B backlog