Increment disk offset in readseg()

The wrong offset variable is incremented in readseg()'s loop, which
meant that the same sector was read over and over.
Increase Rust load address

The Rust ELF is long enough (~0x2500 bytes), that when loaded at
0x100000, the load address of the .text section (0x100200) is actually
within the loaded ELF.  As a result, latter parts of the ELF are
overwritten during the loading process.
Build Rust via llc

Rather than having rustc emit object files, have it emit LLVM IR, and
compile that with llc.  The LLVM IR has no references to the problematic
__morestack.

Use sed to remove and replace bad parts of the IR.

The first, the dereferenceable() paramater, is added in a very new
version of LLVM, newer than my llc, so it must be removed.

The second is a static constant from libcore's str module.  rustc
generates IR stating that it is "available externally", but it also
includes the value.  Since the value is available, simply switch it it
"internal".
Switch back to main test program and run!

Remove the simple iterator test, switching back to the main VGA test
program.  It actually successfully runs and prints!

The .bss section for Rust is not zeroed, so there is currently a helper
function in the vga module to fix up some globals.

The iterator in write() does not work, it simply returns without
iterating.  This may be due to the uncleared .bss.  For now, putc is
used directly.
Zero memory at end of PT_LOAD

Space beyond memsz and before filesz in an ELF PT_LOAD section is
expected to be zeroed (it often contains .bss).  Do that.
Disable fast memory access optimizations

LLVM's fast memory access optimization will use floating point VMOV
instructions as fast memcpy intrinsics.

At least in QEMU, these instructions were corrupting data and just
generally doing a poor job at functioning correcly (maybe the FPU needs
to be turned on before using them??).

Disabling them causing LLVM to emit normal MOV instructions, and now the
iterator in write() actually works!
Remove cruft

Remove extra testing or fixup code that is no longer necessary.
Ignore generated files

Rename all generated binaries to *.bin to aid in the ignorance.
Merge pull request #1 from prattmic/master

Make it run!