Fix for #1835: Allow giving a custom name to keywords implemented using ...

...the static and the hybrid APIs
_I thought I already commented this but since I don't see anything here I must have clicked Cancel or something stupid like that._

Checking `robot_name` here in test library side mostly works, but has a problem that actual keyword handler name is not updated. This causes problems, for example, with Libdoc that looks at handlers directly, and thus Libdoc needs to check `robot_name` too.

A better place to check the name would be in `robot.running.handler._RunnableHandler`. How it sets its name could be changed to something like this:

```python
name = getattr(handler_method, 'robot_name', None) or handler_name
self.name = utils.printable_name(name, code_style=True)
```

Notice that the above code uses `or handler_name` and doesn't pass `handler_name` to `getattr` as a default value to handle a situation where `robot_name` is set to `None` (or any other non-true value). That allows using `robot_name` as a marker to indicate a method is a keyword without affecting its name. That obviously should be tested and documented too.