reiser4: block_alloc: implement exclusive space grabbing through read-write semaphores.

This is now used to augment the second pass of BA_CAN_COMMIT machinery.
reiser4: block_alloc: keep write lock on grab_semaphore until release of exclusively grabbed space.

This was the original intention.
reiser4: block_alloc: sanitize grab_enabled modifications.

- do not re-enable grab before doing second attempt in BA_CAN_COMMIT sequence;
- disable grab in reiser4_grab_space(), and only do that if not BA_FORCE.
reiser4: do not mess with grab_enabled; instead, use BA_FORCE.
reiser4: batch discard support: add a dummy FITRIM ioctl handler for directories.
reiser4: batch discard support: more elaborate stub.

Now with
- init work (parameters load/store)
- separate reiser4_trim_fs() function
- reservation of all possible space using new BA_ALL interface
reiser4: batch discard support: stub sleeps for 10 seconds.