Made ios hideKeyboard function more robust; Fix for #2930

I wasn't able to get all of @bootstraponline's suggestions implemented, namely this little bit:
```
 var key = au.mainApp().keyboard().buttons()['<somekeyname>']
if (key.isNil()) {
var startY = au.mainApp().keyboard().rect().origin.y - 10;
var endY = au.mainWindow().rect().size.height - 10;
au.flickApp(0, startY, 0, endY);
} else {
key.tap();
}
``` 
Whenever I provided a bogus button name, I'd get a 'selenium failed to find the element' error.  I spent some time debugging it, but after talking to @jlipps, we decided to stop for now with the work I confirmed was passing tests.  We can create a ticket to get this final piece working if we need to.
Fail if the keyboard never hid.