Optimizations for disk space usage in SingleFileStore

This is a proposed enhancement tracked as ISPN-3894 (https://issues.jboss.org/browse/ISPN-3894)
Adjacent free entry blocks can be coalesced together and larger free entry blocks can be created.

Thus, in situations where the sizes of entries gradually increase, the new bigger entries will find space in the coalesced blocks (atleast such a probability increases). Thus, they do not need to get appended to the end of the file, keeping the file size under control.