Utils: add list container interface and implementation.

The project now provides a Utils library which will provide standard containers
and tools for the kernel. The library now provides a list container interface,
a linked list based implementation and unit tests for lists.
Utils: add some math utilities.

Adds a Math class to the Utils library to perform some mathematical operations
in the kernel. Unit tests provided too.