Available slots added, some bugs fixed

- added a new function `getAvailableSlotsHost(int slotsize)` that will count the free memory
- fixed a bug where not all regions were initialized with 0
- fixed 2 bugs that could lead to reduction of available memory, when many threads allocated and deallocated memory concurrently