This is a rebased, squashed, and history-revised commit. I wanted to make sure that .gitignore was followed from the very first commit, to avoid the possibility of config file leakage. The only interesting thing is my directory layout, and that's not very interesting at all. Mainly I just wanted this to be completely clean. The following fixes are rolled up into this commit:

fix PATH var because realpath/bin was being set for every time through the loop
updated to fix character width issues with profile. profile also now finds itself from config and readlink so no need to hardcode absolute paths. also creating the 'src' directory by default since this uses GOLANG style checkout paths
readlink apparently works differently in Mac OS Yosemite, providing the absolute path instead of relative path. since i'm only managing this for myself, no need to maintain backward compatibility. i can always do an OS version check and use the previous readlink combos if it's important enough to run on mavericks again.
Added gitignore for the config file to make sure directory layouts don't get leaked, also removing the config file from git cache and adding a sample to base a new one on. Updated README to reflect this.
fix PATH var because realpath/bin was being set for every time through the loop
updated to fix character width issues with profile. profile also now finds itself from config and readlink so no need to hardcode absolute paths. also creating the 'src' directory by default since this uses GOLANG style checkout paths
readlink apparently works differently in Mac OS Yosemite, providing the absolute path instead of relative path. since i'm only managing this for myself, no need to maintain backward compatibility. i can always do an OS version check and use the previous readlink combos if it's important enough to run on mavericks again.
Added gitignore for the config file to make sure directory layouts don't get leaked, also removing the config file from git cache and adding a sample to base a new one on. Updated README to reflect this.