Features: Extend concept to C language.

Add properties and variables corresponding to CXX equivalents.

Add features for c_function_prototypes (C90), c_restrict (C99),
c_variadic_macros (C99) and c_static_assert (C11). This feature
set can be extended later.

Add a <PREFIX>_RESTRICT symbol define to WriteCompilerDetectionHeader
to conditionally represent the c_restrict feature.
Tests/BuildDepends: Make 3-second delay more robust

Use "cmake -E sleep 3" instead of execute_process with a TIMEOUT of 3.
This avoids using a busy loop or depending on a timeout to kill it.
Do not change minimum required version in modules

Some modules change CMake minimum required version when they are
included. For example:

  cmake_minimum_required(VERSION 2.8.12)
  message("${CMAKE_MINIMUM_REQUIRED_VERSION}")
  include(CheckTypeSize)
  message("${CMAKE_MINIMUM_REQUIRED_VERSION}")

will produce the following output:

  2.8.12
  2.6

This patch ensures that when you include a CMake module the minimum
required version and the policies set are left unchanged.

Fixes Issue #14864
Keep cmake_minimum_required calls in sync with current version

Update cmake_minimum_required calls in CMakeLists.txt in Modules and in
CMakeLists.txt generated by other modules, so that they are always in
sync with current CMake version.
KWSys 2014-05-19 (c282e64f)

Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ c282e64f | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' 6074f33f..c282e64f
Brad King (2):
      2e00d252 SystemTools: Port cygwin path conversion to modern API
      c282e64f Process: Workaround child kill trouble on Cygwin

Change-Id: I39a3ca47fbb4065eff922d94e6d7019c417ed75c
Merge branch 'upstream-kwsys' into update-kwsys
Merge topic 'compile-features-C-language'

e0890d03 Features: Extend concept to C language.
Merge topic 'preserve_cmake_minimum_required_version'

1890c668 Keep cmake_minimum_required calls in sync with current version
81a3f228 Do not change minimum required version in modules
Merge topic 'test-BuildDepends-sleep'

e4114ee9 Tests/BuildDepends: Make 3-second delay more robust
Merge topic 'update-kwsys'

2903d609 Merge branch 'upstream-kwsys' into update-kwsys
ed52685d KWSys 2014-05-19 (c282e64f)