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.
I don't know if the multstr ```\``` is forbidden or not.  I think it's easier to read for longer formatted strings.  However, I had to tell jshint to ignore this case.  That should probably tell me that it's forbidden, but there ya go.