Improved free space calculation for trash and versions

This was discussed in #2936. Please also see this issue for detailed explanation.

Basically if no quota is set we call free_space() whichalready takes all used disk space into account. No need to subtract it again. Further, don't divide the free space by the number of users. If no quota is set every user is free to use as much space as he wants.