title: Chronicle Values: getter that returns Array instead of individual items
body: <p>So, I have a Value Interface with these array field getter and setter methods, which works</p>
  <pre><code>interface Instrument: Marshallable {
     ...
     fun setBidAt(index: Int, entry: OrderBookEntry)
     @Array(length = 10)
     fun getBidAt(index: Int): OrderBookEntry
  }
  
  interface OrderBookEntry: Marshallable{
      var level: Int
      var quantity: Long
      var price: Double
      var orders: Long
      var side: OrderBookSide
  }
  </code></pre>
  <p>However, I want a getter and setter that interact with the whole <code>Array</code>, something like:</p>
  <pre><code>  interface Instrument: Marshallable {
      ...
      fun setBids(entries: kotlin.Array&lt;OrderBookEntry&gt;)
      @Array(length = 20)
      fun getBids(): kotlin.Array&lt;OrderBookEntry&gt;
    }
  </code></pre>
  <p>but as expected encountered some exceptions:</p>
  <pre><code>java.lang.IllegalStateException: bids field type class [Lme.oms.instrument.OrderBookEntry; is not supported: not a primitive, enum, CharSequence or another value interface
  </code></pre>
  <p>Now, does this mean that I can't leverage Chronicle Value Interface and have to create a custom class to achieve this? I have tried to look in both <code>ChronicleValues</code> and <code>ChronicleMap</code> test cases, seems like there is no test for this scenario?</p>
  <p><strong>EDIT</strong>: I managed to find a workaround by leveraging kotlin's extension function:</p>
  <pre><code>fun Instrument.getAsks(): kotlin.Array&lt;OrderBookEntry&gt;{
     val array = arrayOf&lt;OrderBookEntry&gt;()
     for (i in (0 until OrderBookMaxSize)) {
         array[i] = getAskAt(i)
     }
     return array
  }
  </code></pre>