rename ceiling -> ceilingDivide
rename mask -> maskAlignedPointer
rename cast -> fieldAtOffset
move RUNTIME_ARRAY into it's own header
move all codegen source in to codegen/ dir
allow codegen targets (Architectures and Assemblers) to co-exist

The primary motivation behind this is to allow all the different Assemblers
to be built at once, on a single machine. This should dramatically reduce
the time required to make sure that a particular change doesn't break
the build for one of the not-so-common architectures (arm, powerpc)

Simply pass "codegen-targets=all" to make to compile all
src/codegen/<arch>/assembler.cpp.

Note that while these architectures are built, they will not be fully-
functional.  Certain stuff is assumed to be the same across the entire
build (such as TargetBytesPerWord), but this isn't the case anymore.
Merge branch 'master' of git://github.com/ReadyTalk/avian

Conflicts:
	src/codegen/arm/assembler.cpp
	src/common.h
	src/machine.cpp
update bootimage.cpp and heapwalk.cpp to reflect function renames
include util/runtime-array.h in windows.cpp to fix build
switch clean target back to deleting all generated files