Updated patches attached. Changes:<br>1. All generating targets are now running only when user is invoking install rule. Credits go to @sakra on SO.<br>2. Wrapped some common code into macros, put them into cmake/modules/AddLLVM.cmake.<br>

3. Create .tar.gz's only if both tar and gzip are found, otherwise warn user and don't even generate targets.<br>4. Code style fixes.<br>