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: rework GDT/IDT, DtReg
Add tss segment, runtime::stack
Update to latest Rust master