collect GC roots of DSO

- Use dl_iterate_phdr to find the program header table
  for the DSO

- Iterate over program headers and collect all
  segments that are allocated and writeable for
  the GC.
add TLS range support

- store the TLS module id and it's size if the
  DSO has a PT_TLS segment

- add helper function that computes the actual
  memory range for the calling thread
Merge pull request #421 from dawgfoto/SharedRuntime_3

add TLS range support