Added block allocator

updating block allocator

Current version of block allocator

used vector instead of deque

creation now uses universal references+forwarding

Added hash function for tiles

Added hash function for tiles

creation now uses universal references+forwarding

Added hash function for tiles

Added hash function for tiles

made block_allocator.release noexcept

Added more docs to block_allocator

fixed formatting in datastructures

fixed default difference in datastructure