Kristen Stewart as Diana will surprise you, in a good way