Update _loader.s, interrupts.s, linker.ld

Almost completed implementation of _loader.s; there is a bug mapping
page table entries
Made _vectors_start global in interrupts.s
Page-aligned __text_virtual_end and __text_physical_end symbols in
linker.ld
Update _loader.s

Changed # of page tables from 512 to 256 since kernel will only be mapped in the top 256 Mb (0xF0000000). Fixed page fault bug when jumping to kernel after enabling paging. This bug was caused due to applying the page table descriptor into the incorrect entry in the page table. The page table index (Which is bits 19:12 in the virtual address) must be multiplied by 4 before being concatenated to the page table base address!
Update _loader.s

Fixed (incorrect) comments
Updated _loader.s and interrupts.s

Fixed bug in _loader.s where _setup_page_dir was incorrectly setting
entries to page tables in the wrong addresses. Kernel now runs at
0xF0010000 with MMU on.
vectors_install() sets the vector base address register to the
_vectors_start