deep clone array inside withSort helper, in case the origin data is affected

withSort should just sort data to be output, not the origin data.
For the case, I write 

```html
<ul>
{{#withSort pages "data.index"}}
    <li class="item"><a href="{{pagename}}">{{titleize data.title}}</a></li>
{{/withSort}}
</ul>
```
with three page templates as below
```html
---
title: Home
num: 0 
---
{{md 'README.md'}}
```

```html
---
title: Layout
num: 1
files: ['content/layout/*.md']
---
<h1>{{title}}</h1>
{{#each files}}
  {{md this}}
{{/each}}
```

```html
---
title: Components
index: 2
files: ['content/components/*.md']
---
<h1>{{title}}</h1>
{{#each files}}
  {{md this}}
{{/each}}
```

if the withSort directive sort the origin array, the grunt task will output

```
Assembling _site/components.html OK
Assembling _site/layout.html OK
Assembling _site/components.html OK
```