Early buffer implementation for the Java codegen
modify RTS so that it can be built single-threaded if pthreads are not available.
fixups for HAS_PTHREAD changes
hack in idris_gc to force 16-bit/2-byte alignment for
allocations. Some embedded platforms, like the arduino/avr, support
byte-aligned pointers. However, that makes implementing tagged
pointers very tricky. So, instead we just force 16-bit alignment.
remove #include <unistd.h>. Not all platforms provide that header, and it does not seem to be required anyway.
force tag_arity and ty to be uint32_t instead of system dependent int sizes.
Changed some ints to size_t. Seems valid -- not certain.
should have been in the last commit.
Change + to | because | better reflects our intentions.
alloc_heap also requires the pointer alignment hack.
Minor fixes for the Java backend
Merge branch 'master' into JavaBackendFixes
* Make regression test029 work by adding a wrapper loading environment variables to properties
* Include sugar004
added "prim__registerPtr" noop for Java
Merge branch 'JavaBuffers' into JavaBackendFixes

Conflicts:
	src/IRTS/CodegenJava.hs
Reorganise dependent pair types in Prelude.
Add Prelude.Pairs to the ipkg.
Remove the DependentPair typeclass.
Fix dependent pair names in reg030.
Import Prelude.Pairs into Prelude.