Fix lhpage->nFree handling in lhAllocateSpace

When allocating new block in lhAllocateSpace, we look for the first big
enough free block. If free block size is only up to 3 bytes bigger then
the requested space, we don't split it.
But in that case we should decrement nFree by free block size instead of
requested size. Otherwize the next code allocates already allocated area:

			/* No more free blocks, defragment the page */
			rc = lhPageDefragment(pPage);
			if( rc == VEDIS_OK && pPage->nFree >= nByte) {
				/* Free blocks are merged together */
				iNext = 0;
				zPtr = &pPage->pRaw->zData[pPage->sHdr.iFree];
				iBlksz = pPage->nFree;  // <--- Here
				zPrev = 0;
				break;
			}else{

The code uses incorrect value of nFree.
Merge pull request #5 from Yuras/infinit-loop

Fix lhpage->nFree handling in lhAllocateSpace