add multi byte support for split function

This adds multibyte character support for the spilt function.
For example:
"éÄ,éÄ,Ä,Ä,Ä,Ä,Ä,Äほ"|split(',', 3)
Into:
Array
  0 =>éÄ
  1 =>éÄ
  2 =>Ä,Ä,Ä,Ä,Ä,Äほ

And {% set foo = "éÄéÄÄ"|split('', 3) %}
Into:
Array
  0 =>éÄé
  1 =>ÄÄ
  

And added tests for this.
no need to use ``eslse`` as the ``if`` returns