Use UIKeyboardImpl to enter text.

Use an internal API for entering text into the keyboard.  This should
speed things up and remove the dependency on the physical keyboard.
Not sure how this works with third-party keyboards.
Wait for the mode-dependent keyboard to be ready.

Instead of waiting a fixed amount of time for the keyboard to appear,
make a decision based on whether or not a hardware keyboard is
available.  I.e., if a hardware keyboard is not available wait for the
software keyboard to appear.

Similarly, in both cases wait for the keyboard to have its responder
assigned otherwise the key inputs would be in vain.
Rename waitForKeyboard to waitForSoftwareKeyboard.

Old names preserved but deprecated.
This test wasn't really doing anything except breaking.
Merge pull request #486 from kif-framework/keyboard-rework

Replace current typing mechanism with internal API calls.
Try waiting a non-zero amount of time to see if that helps the build server.
Added KIFTestActor to Swift example in README.md
Added subspec `KIF/IdentifierTests` with a couple tests.
Added dependency in subspec.