Optimize kmalloc and Added lots of comments in it.

kmalloc seriously need a revision as it is the one of the main
component of kernel.Added lots of comment for any reader to get the idea
of what i am doing.It may look overcommented but what can i do once i
started i can't stop myself from writing comment just added even if
there may not needed.