Thread.sleep for windows: for non-zero timeout, sleep at least 1ms
rewrite rwmutext unittest

- use semaphores to control thread progress
- test different reader/writer scenarios and
  policies
range.empty should not be callable with parenthesis
Make AA.byKey and byValue non-property functions
Make AA.rehash non-property function
Make AA.dup non-property function
Merge pull request #588 from 9rnsr/enforceProp

Make some AA member functions non-property
add explicit thread_term call to replace atexit

- When calling rt_init/rt_term from ELF's .ctors/.dtors section
  atexit runs before rt_term, which causes a crash because the
  thread locks are already destroyed.
reuse rt_init/rt_term in main

- runModuleUnitTests is no longer called from rt_init
  but needs to be called separatly
Merge pull request #587 from dawgfoto/refactorMain

reuse rt_init/rt_term in main
Merge pull request #589 from dawgfoto/threadTermLocks

add explicit thread_term call to replace atexit
Merge pull request #585 from dawgfoto/rewriteRWMutexTest

rewrite rwmutext unittest
perform runtime and module initialization when loading DSOs
add HashTab container
Merge pull request #584 from rainers/sleep_non_zero

Thread.sleep for windows: for non-zero timeout, sleep at least 1ms
Merge pull request #592 from dawgfoto/hashTab

add HashTab container
Merge pull request #587 from dawgfoto/refactorMain

reuse rt_init/rt_term in main
Add D implementation of Elf-related header files from FreeBSD.

Add D modules for sys/elf.h, sys/elf_common.h, sys/elf32.h,
sys/elf64.h and sys/link_elf.h.
publish C interfaces rt_loadLibrary/rt_unloadLibrary

- use C strings for rt_loadLibrary
- add rt_loadLibraryW for wide C strings
- move char[] to C string conversion to Runtime.loadLibrary
Merge pull request #586 from redstar/freebsd

Add FreeBSD header sys/elf.h