Generation of forward declarations of top level decls in an input file.

Consists of:
  ForwardDeclPrinter, adapted from clang::DeclPrinter
  Interpterer::GenerateAutoloadingMap for invoking the functionality
  It has hardcoded checks to prevent ForwardDeclPrinter from visiting decls from
standard library files. This restriction will be lifted after the
issues specifyed in the tests are fixed.
  Test cases for code which FowrardDeclPrinter can not deal with properly
Remove the XFAIL, the test doesn't fail anymore.
Remove extra LICENSE.TXT file of LLVM
Initial support for integrating CPT with the build system
Update usage details of CPT
Remove "unzip" as a requirement in Cygwin

"unzip.exe" is fetched on the fly and used by CPT.
Update README.md for CPT
Add function in cling.nsi to detect the version of Windows

Abort installation for old and unsupported versions of Windows.
Add function in cling.nsi to detect existing installation of Cling
Use SHLIBEXT and EXEEXT to make dist-files.mk platform independent
Fix invalid paths in NSI script

Also use the TMP_PREFIX variable in the path.
Use test/lit.site.cfg instead of config.log to get EXEEXT and SHLIBEXT
Running Cling tests shouldn't be a part of "make proper"

"make distribution" renamed to "make proper"
Generate lit.site.cfg in ${LLVM_OBJ_ROOT}/test if not present

lit.site.cfg is parsed to get the values of SHLIBEXT and EXEEXT.
CMake automatically generates this without running tests.
Add error handling in CPT scripts
cpt.sh: Add new option --nsis-tag={tag}
Checkout the proper Git tag when --*-tag={tag} is passed
CPT: Show an error if no value is passed with options that require one
CPT: Update error condition for cross-compiling to Windows
Update documentation to include --nsis-tag={tag}