Add "chunk" to core extensions

This update aims to facilitate the grid layout creation using arrays/collections.

### Example:

**data**:

```jinja
{% set images = [
    'img1.jpg', 'img2.jpg', 'img3.jpg',
    'img4.jpg', 'img5.jpg', 'img6.jpg',
    'img7.jpg', 'img8.jpg', 'img9.jpg',
] %}
```

**before *chunk*:**

```jinja
<div class=row>
    {% for image in images %}
        <img src={{ image }}>

        {# note the weird indentation #}
        {% if loop.index is divisibleby(3) %}
        </div>
        <div class=row>
        {% endif %}
    {% endfor %}
</div>
```

**after *chunk*:**

```jinja
{% for images_row in images|chunk(3) %}
    <div class=row>
        {% for image in images_row %}
            <img src={{ image }}>
        {% endfor %}
    </div>
{% endfor %}
```