patcher: added --append argument for end-of-file range
mask: added empty FloatingMask class
mask: removed floating mask
block: support floating blocks (ranges)
patch: support ranges for bindall
Added ranges class to libpatcher
libpatcher: added ranges
ranges: support EOF range
patcher: initial ranges support, currently only EOF ranges
block,mask: implemented "floating masks"

This allows to avoid special handling of empty masks in parser
asm: fixed ALIGN to return fixed size when unbound
asm: ALIGN: implemented more complex calculation
ranges: align range by default
asm: fixed repr in Val instruction
ranges: added repr
patch: don't pass binary to getPosition() in apply()

We already bound everything.
And binary will not equal to initial after first block is patched.
block: removed binary checking; fixed bug with floating mask
mask: added setSize for floating masks
block: set size for floating mask
mask: converted size to property