Relicense to GPLv3.
Use Autoconf.

Add autoconf as the build system. Automake is not supported, as I do not know
how to make it work with rust yet.

This allows building out of tree and checking for rust.
Add support for the rust compiler.

This patch adds initial support for rustc as a compiler in Autoconf. It was made
looking at the current distribution of Autoconf, therefore the file is
distributed with the same licence.
Add support for cross-compiling.
Move the rustc m4 macros to a submodule.

You only need this submodule to regenerate the configure script.
Include generated aclocal.m4
Use Automake
Add autom4ate.cache to .gitignore
Proper rules in Makefile
Typo in AC_CHECK_PROG for rustdoc.
Add support for simulating with QEMU.
Add a report at the end of the configure script
Set ACLOCAL_AMFLAGS to fix looking for rust.m4
Merge branch 'autotools'
Add dump capabilities to functions

This is meant for debugging.
Fix bug in ADR instruction.

Occured when the adr is just next to the labeled instruction.
Add SUB instruction
Be consistent with comments

Only use /// and never /**
Add support for LDR instruction.

MemOperand was added to represent memory operation:

~~~
pub enum MemOperand {
  MemLiteral(Address),
  MemOperand(Register, Operand, LoadStoreVariant, Sign),

  MemOffset(Register),
  MemPreIndex(Register),
  MemPostIndex(Register)
}
~~~

MemLiteral and MemOperand are the two `core` variants. The three others
translate into MemOperands using the + or - operator with an Operand.

Example:
~~~
Ldr(r0, MemOffset(r0), AL)
Ldr(r0, MemOffset(r0) + Immediate(12), AL)
Ldr(r0, MemOffset(r0) - Immediate(12), AL)
Ldr(r0, MemOffset(r0) + RegShift(r1, LSL, 2), AL)
Ldr(r2, MemPreIndex(r1) + Immediate(4), AL)
Ldr(r2, MemPostIndex(r1) + RegShift(r3, LSL, 2), AL)
~~~
Add support for all Load instructions except ldrd.

This moves the load and store logic into a seperate module.

This needs more testing and documentation.