Issue #382 Add AbstractArrayIterable which abstracts iteration over an array with parameterizable start, length and step. Make the existing java.lang::ObjectArray use this where it was using it's own iterable before. Add ArrayIterable as a subclass of AbstractArrayIterable and make Array.by(), Array.take() and Array.skip() use it.
Issue #382: Implement StringBuilder in Ceylon using an Array<Character>.
In the constructor for String check if the characters are an
`ArrayIterable<Character>` with unit step: if so we can just use the
Java constructor.
Issue #382: Tests the array iterables.