Preserve multiple map-reduce responses independently

This patch resolves an issue where multiple map-reduce responses are not preserved independently. The current behavior receives each response as a `[]byte` and appends it to the existing data (also a `[]byte`), resulting in a value that you can't always make sense of.

A simple scenario illustrating the problem:

- Our MR job will produce 3 JSON results from the final phase
- Riak sends those 3 results in 2 responses:

Response 1:
```json
["{\"id\": 1}", "{\"id\": 2}"]
```

Response 2:
```json
["{\"id\": 3}"]
```

The current behavior produces a result that is quite unusable:
```json
["{\"id\": 1}", "{\"id\": 2}"]["{\"id\": 3}"]
```

This patch changes the return value of a map-reduce from `[]byte` to `[][]byte`, allowing the application to properly make sense of the data.