Making build script more modular

- Populating git repos inline.  I added them to .gitignore, so they can stay around in the repo and simply be updated the next time you run the script.
- I added a branch command line option (`-b <branch name>`), so you could specify which branch to check out for the repos.  `-n` now specifies not to build the iOS repo.
- Other miscellaneous cleanup.