reiser4: batch discard support: honor minimal extent length passed from the userspace.

Signed-off-by: Ivan Shapovalov <intelfx100@gmail.com>
reiser4: move block accounting by pre-commit hook into block_alloc.c and document BA_DEFER behavior.

BA_DEFER deallocations ignore target_stage and other flags and use some implied
values for these parameters. Document these values and where they do matter.

Also move deallocated block accounting into block_alloc.c because
1) it is allocator-independent;
2) it allows discard code to rely on that accounting is done in pre-commit hook and
   not later, so that discard code should not use BA_PERMANENT in its allocations.

Signed-off-by: Ivan Shapovalov <intelfx100@gmail.com>
reiser4: batch discard support: document our choice of allocation/deallocation flags.

Signed-off-by: Ivan Shapovalov <intelfx100@gmail.com>