Handle all Google Speech options

Google Speech API returns multiple options for the recognition of the audio file sent. Jasper was taking just the first option, and discarding all others.

With this change all options are checked against the modules, so that if Google got it wrong with the first option, but another one was the correct one, it uses it.

I added a new method on the Mic interface, but kept he activeListen one for compatibility (which discards other options, as before).
On one hand, you're increasing the number of parameters to the method, which adds to it's complexity (which is already quite high). And on the other hand, you change the result type depending on a parameter. I'd say that having another method is really not that bad. And one calls the other, which does not increase the complexity at all, they each just solve one problem.