Improve build system

ARM target works except dependency info.

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-core and Rust master.
Memory management. `Phys<T>`

A pointer to type T in the physical memory is distinguished by wrapping it
in the `Phys<T>` structure. It makes code safer with increased clarity.
Used more type parameters.
Update macros

Add `impl_ops` and `define_reg`. Fix `define_flags`. Allow dead code.
arm: Enable MMU
kernel: Rename memory => mm. Move bitv.

Made `Bitv` more flexible.