Proposal: 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 was thinking about adding a runtime switch -android for the dmd compiler for linux/x86, similar to how gcc works, and using a global.params.isAndroid instead, but I now see that global.params isn't used anywhere in the backend.  Is that not allowed?