[Allocator] First draft, to be tested.

Simple allocator based on the Doug Lea's malloc architecture.

+-----------------------------------------------------------+
| BINS |      LARGE_CHUNKS     |   WIDE_CHUNK               |
+-----------------------------------------------------------+

BINS is a table of lists of small chunks, access is O(1) in the best
case and amortized in the worst case. The definition of small chunks
depends on ``small_chunk_size''.

LARGE_CHUNKS is, for the moment, implemented as a sigle linked
list and keeps a track of chunks larger thant ``small_chunk_size''.
A better implementation (heap, rbt, b-tree etc.) is possible
in the future.

The WIDE_CHUNK is the chunk containing the rest of the memory
available to the allocator. This chunk is not to be returned by iself
and serves as a reserve for later chunk requests.

The allocator supposes it is the only one protagonist to make
use of the given heap (in that case: the kernel heap). No external
call to the heap should be made.

TODO: test the allocator
TODO: check and mark if the pointer is already free in allocator::free
TODO: implement a better large chunks management (optional)
TODO: implement merge and split (optional)
[Allocator] Tested, works in all cases.
[Allocator] new/delete family use Allocator.
[Allocator] Removing test class.
[Allocator] Remove page size calculation ambiguity.