fix: improved performance of Pipeline.exec (#991)
fix: improved performance of Pipeline.exec (#991)

NOTE:  da39a3ee5e6b4b0d3255bfef95601890afd80709@flunderpero improved performance of Pipeline.exec, reset buffers and made code more readable

Motivation for the change:

```
Execution cost of Pipeline.exec can be reduced to 50% or lower. This is
accomplished by first filling up an Array of Buffers and then calling Buffer.concat
instead of calling Buffer.concat for each command.
In our use-case (~3000 commands in a single Pipeline) wall-clock-runtime went
down from 1.3sec to 500ms.
```
luin/ioredis,luin/ioredis,luin/ioredis