get ghc-android working again with current ghc

This fixes #19. Several other fixes as well, many copied from ghc-ios.

If you merge commit 8cdb270 you should probably also copy my stable-ghc-snapshot branch that it refers to. That branch checks out a specific tested ref from ghc's git repo, to avoid any future ghc changes that break the android cross build. Once a stable ghc release has been made that can be used for android I am going to change the branch to check out its tag.
(Having just spent 26 hours getting a ghc-android that builds again after it "just worked" in Feburary, I am currently a big fan of builds that I can guarantee will still work later.)