Unicode regex

Binaries which contain unicode characters should specify the encoding when constructed. Otherwise, only the last byte of the encoded character will be stored in the binary.
This test fails, as below:

```
  test_combinators:104: utf8_string_test_...*failed*
in function test_combinators:'-utf8_string_test_/0-fun-0-'/1 (test/test_combinators.erl, line 104)
**error:{assertEqual_failed,[{module,test_combinators},
                     {line,104},
                     {expression,"( neotoma_peg : p_string ( << \"�\\226�\\225\\214\" / utf8 >> ) ) ( << \"�\\226�\\225\\214def\" / utf8 >> , ? STARTINDEX )"},
                     {expected,{<<195,164,194,184,194,150,195,167,194,149,...>>,
                                <<"def">>,
                                {{line,1},{column,3}}}},
                     {value,{<<195,164,194,184,194,150,195,167,194,...>>,
                             <<"def">>,
                             {{line,1},{column,7}}}}]}
```