Issue 30

Sorry fo my english, I hope, that it is not so bad...

I realize issue #30 -- feature for specify exact count an min-max range of repetitions of rule, optionally delimited by `delimiter` rule/expression. Delimiter not included in result. Syntax (`, delimiter` may be omitted):
```
expression |exact, delimiter|
expression |min.., delimiter|
expression |..max, delimiter|
expression |min..max, delimiter|
expression |.., delimiter|
```
Now all constraints -- a `int` in grammar, but bytecode not limited by this.

I add 2 opcodes to abstract VM: `IF_ARRLEN_MIN` and `IF_ARRLEN_MAX`.

New `IF...` opcodes use stack to get constraint and array and compiled to:
```
min = stack.pop();
if (typeof(min) !== "undefined" && stack.top().length < min) {
  <then code>
} else {
  <else code>
}

max = stack.pop();
if (typeof(max) !== "undefined" && stack.top().length >= max) {
  <then code>
} else {
  <else code>
}
```