Add support for UNNEST

I think it would be much simpler if you changed this abstraction to look like:
```java
public class Unnester {
   public Unnester(int channels, Slice data) {...}
   public boolean hasNext() {...}
   public void appendNext(PageBuilder pageBuilder, int channelOffset) {...}
   public void close() {...}
}
```

This would be a single use object.  When you advance to the next position, you create a new one.  Normally this would be unacceptable overhead, but the code creates a JsonParser for each value, it won't matter.  The `appendNext` method would append the value and advance to the next position (basically this is a java iterator except next appends to the builder instead of returning the value).