Interleave array elements
<p>What is a fast and simple implementation of <code>interleave</code>:</p>

<pre><code>console.log( interleave([1,2,3,4,5,6]      ,2) ); // [1,4,2,5,3,6]
console.log( interleave([1,2,3,4,5,6,7,8]  ,2) ); // [1,5,2,6,3,7,4,8]
console.log( interleave([1,2,3,4,5,6]      ,3) ); // [1,3,5,2,4,6]
console.log( interleave([1,2,3,4,5,6,7,8,9],3) ); // [1,4,7,2,5,8,3,6,9]
</code></pre>

<p>This mimics taking the array and splitting it into <em>n</em> equal parts, and then shifting items off the front of each partial array in sequence. (<em>n</em>=2 simulates a perfect halving and single shuffle of a deck of cards.)</p>

<p>I don't much care exactly what happens when the number of items in the array is not evenly divisible by <em>n</em>. Reasonable answers might either interleave the leftovers, or even "punt" and throw them all onto the end.</p>
