Add range syntax

instead of range 5 10, we can write range 5-10
support negative stop in range command

step needs to be negative if start > stop
remove unused params
support commas in range syntax
Presets: add support for start index only, add support for end > preset list