Bunch of updates

Add generic method (as a macro) to build compiled components as well.
Add support to optionally allow the project root and component output
folder name to be changed for OS X.
Also for some reason BLD_Finalize didn't convert the path to POSIX on OS
X. Maybe the build never worked from OS X? I rarely do this so it's
possible.
File copying on OS X can wreak havoc with shell permissions. I created
UTIL_OSX_MakeExecutable that is useful for shell scripts, to make sure
they're executable.
Cleaned up readme.