New CMake parser

The new parser adds support for macro() expansion and foreach()
evaluation. Recursive calls are unsupported and while be silently
ignored.
Unquoted empty variables expand to nothing
Make sys.path hackery more robust

This allows run.py to be invoked from a different cwd than the package
source folder.
Unit tests for ${ARGN} handling
Bugfix for nested add_subdirectory() calls
Subdirectories have their own variable scope now
Support for PARENT_SCOPE in set()
Update README

[skip ci]
Check order of catkin_python_setup() and generate_messages()
Check for pkg-config calls
Check for environment variable usage
Explicitly state that subprojects are not checked
Check for global variables
1.3.0
Merge version 1.3.0
1.3.0-1