smalloc: use __heap_start to find the end of .bss
chunkpool: replace incref/decref with getref/putref
scheduler: remove some comments
schedulre: use chunkpool
scheduler: move data structures to .c from .h
scheduler: group static variable declarations
scheduler: use doubly instead of singly linked list.

Adds a bit of overhead to registering, but remove iterating through the
list on removal.
scheduler: rename to timer
timer: rename functions

timer_init -> init_timers
timer_register -> add_timer
timer_unregister -> del_timer
timer: rename task_ structures to timer_
timer: task_freq_t -> task_ticks_t
timer: rename TASK contants to TIMER
timer: remove initialization of static
timer: comments
timer: split up add_timer
timer: cosmetic changes

spit some functions, change/add comments, etc
chunkpool: uint8_t * chunkpool_acquire -> void * chunkpool_alloc
chunkpool: rename to mempool

rename buff to block.
chunkpool_craete -> init_mempool
chunkpool_acquire -> mempool_alloc
mempool: macro to get mempool_block_t given the buffer
mempool: comments