Merge topic 'dev/hashmap-for-targets'

325599ca cmGlobalGenerator: Store targets in hash maps
ac4106c6 cmMakefile: Use a hashmap for imported targets
Merge topic 'dev/regex-variables'

3f517522 StoreMatches: Minor cleanups
ef62fbad ClearMatches: Store match variable names statically
f718b30a ClearMatches: Only clear matches which were actually set
Merge topic 'dev/source-file-performance'

77b37965 cmSourceFile: Take a string
7b8a9904 perf: Cache the language property string
10baf00f cmSourceFile: Cache the isUiFile check
14e7a8ae cmSourceFileLocation: Return a string reference
b4cb543e cmSourceFileLocation: Save some string copies
e8e1f3a1 cmSourceFileLocation: Simplify logic in Matches
5554910e cmSourceFileLocation: Avoid string allocation in extension checking
Modify run_test.
Merge branch 'master' into next
Merge topic 'GNU-4.7-features' into next

87897fc8 Modify run_test.
Features: Record for GNU 4.7.

Update the CompileFeatures test to verify that unsupported features
do not work.
Merge topic 'GNU-4.7-features' into next

9cbc63e4 Features: Record for GNU 4.7.