add remote-test capability

To execute tests on a remote host (for instance, because you're cross-compiling),
simply do:

make remote-test=true remote-test-host=<host_to_test_on> test

You can set several variables to control the functionality of remote-test.
See them below, along with their default values:

remote-test-host = localhost # host to ssh to
remote-test-port = 22
remote-test-user = ${USER} # user to execute tests as
remote-test-dir = /tmp/avian-test-${USER} # dir to rsync build output to
add unittest framework
add ArchitecturePlanTest
Merge branch 'master' of git://github.com/ReadyTalk/avian
fix cross-compile windows build
fix test-harness for 32-bit platforms
set remote-test variable based on the presence of remote-test-host or remote-test-port

The new way to run a remote test is:

make arch=<arch> remote-test-host=<host_to_test_on> test
fix interpret.cpp build
fix unittests for process=interpret build
fix bootimage build
test various configurations besides the default in Travis CI
move binary-to-object to new tree structure
move codegen headers to include/
move abort.h to include, add namespacing
move runtime-array to include
move math functions out of common.h, and into include/avian/util/math.h
move heap.h to include
fix bootimage build
find headers regardless of directory layout in vm-depends definition
modify (THREAD_)RUNTIME_ARRAY definition so RUNTIME_ARRAY_BODY must be used

Previously, if you forgot to use RUNTIME_ARRAY_BODY to reference an
array declared with (THREAD_)RUNTIME_ARRAY, you wouldn't get a
compiler error until you tried to build on e.g. MSVC, where
runtime-sized stack arrays aren't supported.  This change ensures you
find out regardless of what compiler you're using, which ought to
protect us from regressions going forward.