parser/printer: Add support for :ilist and similar commands
tests: Add :ijump-like commands tests
parser: Parse :catch command
parser/printer/tests: Add :copy/:move/:t support

Note: kArgAddress is now using Range *range union member, but is not named 
kArgRange. Reason: it still represents *one* address, but I have to use Range 
structure due to `10;20` being a valid address (will use line 20, but in case of 
`10;/abc` first part should be taken into account: this variant will use line 
that matches `/abc` that is located after line `10`).