String generator

Shrinking needs work but the bug is correctly found:
```
[11:33:25][giorgio@Bipbip:~/code/eris]$ vendor/bin/phpunit examples/StringTest.php 
PHPUnit 4.3.5 by Sebastian Bergmann.

Configuration read from /home/giorgio/code/eris/phpunit.xml

.F

Time: 369 ms, Memory: 6.75Mb

There was 1 failure:

1) StringTest::testLengthPreservation
Concatenating  to ";twM9K%f9pI%&84wk\Q9NCv`.1JJ)Ld}D26n7{'(E+.]?%\*`-B/P9o^I:)RemO)~dw6`}=&)JbGN>Q/Ks=z,,YTFa'+NU3M:+bz(1IaXw)&K{BF(N~[s_b~.72ZQ<=KD<JTe,-\,6aV2${9RytFYVDglUA>q^h5z3i_?v<J,}=!{USuIxN=5lrV*c5qx/%bnCX*lc'l!(gU[\~T+}p@icvrG+d?:h"),Y2x=9d=ALr|)pP3nASX%IKKT0jmwkv$E){aB_}b,o_4`/GOPy'TCRwaieYU[\ycWZ%7XgBHFV)U|W%v^Y:1X1qBuKvP(o4^J8u#~7KEmSyi+~`hWyx0+jQ!6GQ=7d{a{pdz(/?ta9^k7?Tn9M}C7OCMvsi.XdnSURN\`lPB&/-<Ma+e.))DWLqM@Z[w>IKr{xO\e}j.+'[k1@x9I=ot.=4hx+'BUy=NHy3Gw}U"$0m4PfMx$<l2Y!yQ+!r`y0.A)Ah!>>#BMoU}V#vZ?ckwceIne<N^L\U|hU;&W\SG2P|4GWR*CIm(r[m/*LZeL/a4c{9;Xlai=^|c5NmWwZ_i6Mx?xR$DaeXEap_9]A"y}\4LJkC%K-:w%XpW\58Bl]#]<<:]>3\;opg:\*>'6W~;0oqk$*-of0L#Le_ix<%h,k"gt?n+um gives ";twM9K%f9pI%&84wk\Q9NCv`.1JJ)Ld}D26n7{'(E+.]?%\*`-B/P9o^I:)RemO)~dw6`}=&)JbGN>Q/Ks=z,,YTFa'+NU3M:+bz(1IaXw)&K{BF(N~[s_b~.72ZQ<=KD<JTe,-\,6aV2${9RytFYVDglUA>q^h5z3i_?v<J,}=!{USuIxN=5lrV*c5qx/%bnCX*lc'l!(gU[\~T+}p@icvrG+d?:h"),Y2x=9d=ALr|)pP3nASX%IKKT0jmwkv$E){aB_}b,o_4`/GOPy'TCRwaieYU[\ycWZ%7XgBHFV)U|W%v^Y:1X1qBuKvP(o4^J8u#~7KEmSyi+~`hWyx0+jQ!6GQ=7d{a{pdz(/?ta9^k7?Tn9M}C7OCMvsi.XdnSURN\`lPB&/-<Ma+e.))DWLqM@Z[w>IKr{xO\e}j.+'[k1@x9I=ot.=4hx+'BUy=NHy3Gw}U"$0m4PfMx$<l2Y!yQ+!r`y0.A)Ah!>>#BMoU}V#vZ?ckwceIne<N^L\U|hU;&W\SG2P|4GWR*CIm(r[m/*LZeL/a4c{9;Xlai=^|c5NmWwZ_i6Mx?xR$DaeXEap_9]A"y}\4LJkC%K-:w%XpW\58Bl]#]<<:]>3\;opg:\*>'6W~;0oqk$*-of0L#Le_ix<%h,k"gt?n+umERROR
Failed asserting that 674 matches expected 669.

/home/giorgio/code/eris/examples/StringTest.php:40
/home/giorgio/code/eris/src/Eris/Quantifier/Evaluation.php:48
/home/giorgio/code/eris/src/Eris/Quantifier/RoundRobinShrinking.php:45
/home/giorgio/code/eris/src/Eris/Quantifier/ForAll.php:69
/home/giorgio/code/eris/src/Eris/Quantifier/Evaluation.php:50
/home/giorgio/code/eris/src/Eris/Quantifier/ForAll.php:71
/home/giorgio/code/eris/examples/StringTest.php:41
                                       
FAILURES!                              
Tests: 2, Assertions: 609, Failures: 1.

```
I have created it only to check that a generated value belongs to that domain (and the role of the `contains/1` is to explicitly define a generator/domain) because when we were testing the `__invoke` without the `contains/1` we were making strange assumptions such as:

```php
    $this->assertEquals($upperLimit, count($buckets));
    foreach ($buckets as $bucketValue) {
        // not a statistically correct bound,
        // but should fail very rarely
        $this->assertGreaterThan(800, $bucketValue);
        $this->assertLessThan(1200, $bucketValue);
    }
```

I have used it only in the Vector generator. Basically it should return only a boolean value.