Support commands consisting of multiple words

Currently redis multi-word commands like `SCRIPT LOAD` or `CLIENT LIST` are present, but do not work, because redis expects the words to arrive in individual fields.

This patch adds supports for these commands by registering the first word of such commands. The above can then be executed like:

```
redis.script('load', 'return 1');
redis.multi().script('load', 'return 1').exec(...);
redis.multi([['script', 'load', 'return 1']]).exec(...);

redis.client('list');
redis.multi().client('list').exec(...);
redis.multi([['client', 'list']]).exec(...);
```

As this patch only affects the initialisation of multi-word commands there are no performance impacts to expect.

The current solution has a small catch as prefixes that occur multiple times (like `CLIENT` from `CLIENT LIST` and `CLIENT KILL`) gets added multiple times and therefore overwritten. This has currently no impacts, but might yield unexpected results in future modifications. I could change that.

There is an alternative approach in #181. As this one modifies late stage command processing, it might have a performance impact. The command syntax is different there:

```
redis['script load']('return 1');
redis.multi()['script load']('return 1').exec(...);
redis.multi([['script load', 'return 1']]).exec(...);
```

#### Ready to merge checklist
- [ ] test(s) in test.js
- [ ] tests will fail without the PR, but succeed once applied
- [ ] docs, if applicable
- [ ] merges cleanly
- [x] coding style (4-space indents, looks similar to other code)