Added option to have empty paths

For example, this code:

```php
$klein->with('/users/', function () use ($klein) {
    $klein->respond('GET', '', function () {
        echo 'Hello World';
    });
});
```

Responds to the given the path `/users/`, as it should, but throws an error:

```
Notice: Uninitialized string offset: 0 in /klein/klein/src/Klein/RouteFactory.php on line 84
```

This PR fixes that bug and allows for paths to be empty.
Please note that providing `null` as an argument for the path creates a catch-all route so this is not an option.
I hate to be a pain, but this would be a bit more readable to me if it wasn't negated in front:

```php
$test_path = is_string($test_path) ? $test_path : '/test';
```