add default prefix and allow prefixes with spaces

This is a change I would like peer-reviewed. If the default strategy changes are rejected, I can submit a separate request to just allow prefixes with spaces.
Allows you to use the default strategy (match key attributes) when a '=' is in the locator.
Locator `page?a=b` will still cause error, but can be changed to `default=page?a=b`.
Locator prefixes will now be space-insensitive so the following will work when the previously did not:
* `partiallink=text`
* `x path = //div`

Fixes #193
This looks strange. Doesn't `assertRaises` catch the `ValueError` so `except ValueError` block should never be executed? That block seems to test the actual error message. If you want to accomplish that, you can either use the standard [assertRaisesRegexp](https://docs.python.org/2/library/unittest.html#unittest.TestCase.assertRaisesRegexp) (new in Python 2.7), Robot's [robot.utils.asserts.assert_raises_with_msg](https://robot-framework.readthedocs.org/en/latest/autodoc/robot.utils.html#robot.utils.asserts.assert_raises_with_msg), or just execute the code failing code normally and actually catch the error with `except ValueError`.