Android: Packed TLS for ELF

Never heard back from Walter about the dmd patch I used for Android/x86 and I know he's very careful about copyright, so I'm submitting it as a pull request.  Right now, I'm just looking to find out if some sort of packed TLS for ELF pull like this would be considered for merging and if I made any mistakes in my approach.  If so, I'll clean this pull up and figure out a way to work it into the existing build, but I don't want to do that cleanup if the basic concept is not deemed worthwhile for dmd.

I used this pull to compile druntime and phobos for Android/x86, with almost all modules' unit tests passing.  I'm not sure if this pull will work for shared libraries on Android, as I had problems in `___tls_get_addr` in druntime when I tried that, will update when I figure out what's going wrong there.

Let me know if this sort of packed TLS for ELF approach would be worth merging and I'll clean up this pull.
> I does not yet support it, but once it does things will break. Apparently the linker is already aware of tls.

Is there any indication that they're planning on supporting native TLS?  I believe the only reason the linker is aware of native TLS is because they simply modified existing FOSS linkers like ld.bfd and gold and didn't bother talking the linker TLS support out completely, because [TLS relocations are unsupported in the bionic runtime linker](http://forum.dlang.org/post/tbhkvszqmssgbpquwaol@forum.dlang.org) and won't work anyway.  They've always said that native TLS is unsupported.

I suppose we could provide additional Android linker config that orders our own `.d_tdata` sections, but I don't want to look into that if it's unnecessary and we can simply reuse the existing sections.