Slicing with ranges improved:

- Square bracket now accepts range values from any source, like <#assign r=1..3>${'foobar'[r]} will print "oob". Earlier it has only supported ranges that were specified inside the square brackets, like 'foobar'[1..3].
- When slicing a sequence with a right-unbounded range, it's now allowed to have a range start index that's one higher than the last index of the sliced sequence. For example, ['x', 'y'][2..] is not an error anymore, but an empty sequence. (Of course, ['x', 'y'][3..] is still an error.)
- Bug fixed: Slicing with ranges sometimes thrown low level java.lang.IndexOutOfBoundsException-s instead of more descriptive TemplateModelException-s with FTL stack trace.