Add util mod
x86: GDT, task segment
Implement get, map with define_flags
x86: cpu flags
Convert case, set_isr
Heap. Allocation with type arguments; overflow

Created kernel::heap.
Used mul_with_overflow
Improve build system

Moved .gitignore from project root to build directories.
Makefile reads patterns specified in gitignore to find
all output files and remove them with the help of `find` and
`xargs`.
Using `sed` to remove some dependency info:
See http://stackoverflow.com/a/9054420
Specified that makefiles should use bash.
x86: refactor gdt/idt, add tss segment, runtime::stack
Update to latest Rust master