leveldb finder
Rename cmake variables to better support sub-project build

find . -name \*.cmake -exec sed -i '' "s/CMAKE_BINARY_DIR/CMAKE_CURRENT_BINARY_DIR/g" {} \;
find . -name \*.cmake -exec sed -i '' "s/CMAKE_SOURCE_DIR/CMAKE_CURRENT_SOURCE_DIR/g" {} \;
find . -name \*.cmake -exec sed -i '' "s/CMAKE_PROJECT_NAME/PROJECT_NAME/g" {} \;

Warning : A global serach/replace was carried out and in some cases the use of
the replaced CMAKE var names may have been intentional. Incorrectly replaced
variables will be fixed as and when they are found during testing.
Fix location of generated header for subproject build
Add PROJECT_NAME to git update target name

When projects are built as SubProjects the target cannot be created if the
name already exists
Add PROJECT_NAME to each git target.

Subproject builds create targets with the same names unless we make them unique.

Warning : this commit renames the git targets
make-branch, branch, cut, tag, retag, erase, tarball-create, tarball
to the same but with _${PROJECT_NAME} appended.
Add PROJECT_NAME to each check/project target.

Subproject builds create targets with the same names unless we make them unique.
Add PROJECT_NAME to each check/project target.

Subproject builds create targets with the same names unless we make them unique.
Fix missing PROJECT_NAME on target
Only override add_library/add_executable once

If subprojects try to redefine these names (multiple times), cmake behaves badly
Update pacakge config for subproject config generation

When building several subprojects that depend on each other, we need to write a config
file into the build directory so that the next project to call find_package will pick
up the right settings.
Do not search for libraries/files if they have not been built yet.

Subproject usage only needs the target names, the libs will not exist until after build
Load options when finding package
Fixing dependent library finding, would be better using cmake export target rules
Remove debug messages
Remove debug messages
Put PROJECT_NAME first in test rule
Add subproject macro
Add NO_UPDATE and VERBOSE options to GitExternal

NO_UPDATE can be used to stop branch changes/updates.
VERBOSE displays info about what is being done.
Merge pull request #183 from hernando/master

Improvements in CMake package config generation.
Fix checkout