Added a generator for Sublime Text 2 project files.

The generator adds all list and source files for each defined
project. The generated project files also include build_system
entries that run the platform-specific make on the generated
Makefiles. A build_system entry is created for each target
that was defined in the CMakeLists.txt files.

At the moment this has only been tested with C/C++ projects.
Added some support for sublimeclang_options in the generated project file.

This adds -I include path flags and -D define flags for sublimeclang.
The current problem with this is that these flags cannot be set per
target (build_system in sublime text), it can only be set project
wide. Currently all of the include paths and compiler definitions from
ALL of the targets are used (with duplicates removed). This could be
problematic in some cases (conflicting compiler definitions among targets).
Changed SublimeClang include path generation to expand to absolute paths.

Fixed an issue where compiler definitions for SublimeClang were not
written to the project file.
Cleaned up the Sublime Text 2 Generator code a bit.
Fixed support for the Ninja build system.
Added and cleaned up some comments.
The generator no longer generates an explicit list of source files.

Now the source directory is simply added to the project file,
with the output/build directory excluded.
The generator no longer generates absolute paths to the ninja.build/Makefiles.
Added a CMAKE_SUBLIMECLANG_DISABLED variable that disables SublimeClang.

If the CMAKE_SUBLIMECLANG_DISABLED variable is on then SublimeClang
is disabled in the generated project file. This is useful in large
projects where SublimeClang might run slowly or perform poorly.
Fixed Sublime Text project generation for in-source builds

Fixed the issue where for in-source builds the source directory
(which is also the build directory) was excluded from the project file.
Define flags in CMAKE_C(XX)_FLAGS are now included in SublimeClang settings.

Changed the the SublimeText2 generator name to Sublime Text 2.

Fixed a minor issue where if the build directory was outside of the source
directory an unnecessary folder_exclude_pattern was generated in the
Sublime Text 2 project file.
SublimeText2 Gen: Improved use of define, include flags from CMAKE_C(XX)_FLAGS

Both define and include flags from CMAKE_C(XX)_FLAGS are now included in
SublimeClang options.

Include directories are now used with absolute paths instead of relative
paths since CMake generated build trees cannot be moved anyway.
SublimeText2 Gen: Fixed the issue where include directory flags used -D
Sublime Text 2 Gen: Per-source Compile flags are now saved in a separate file.

We no longer write sublimeclang_options to the project file, but instead
write a separate .sublimeclang-options JSON file that contains a map
of source file paths to compile flags for that file.
SublimeText 2 Gen: Set the sublimeclang_options_script property.

The sublimeclang_options_script property is now set in the project
file. It is set to execute a python script that reads the JSON options
file to get options per source file. Python must be installed and in the
path for this feature to work from Sublime Text.
Correct missing parameter to CMP0018Flags call.
CMake Nightly Date Stamp
Merge topic 'minor-fixes'

ba48e63 Generate config-specific interface link libraries propeties.
deb51a7 Remove unused forward declarations.
9712362 Don't allow utility or global targets in the LINKED expression.
faa927e Make sure INTERFACE properties work with OBJECT libraries.
510fdcb Whitelist target types in target_{include_directories,compile_definitions}
4de7178 Ensure that the build interface includes have been added.
df74bc3 Only append build interface include dirs to particular targets.
d4e5c67 Don't keep track of content determined by target property values.
1fb545a Move a special case for PIC from the genex to the cmTarget code.
57175d5 Only use early evaluation termination for transitive properties.
4cf161a Fix determination of evaluating link libraries.
3a298c0 Fix generation of COMPILE_DEFINITIONS in DependInfo.cmake.
655e98b Ensure type specific compatible interface properties do not intersect.
46e2896 The COMPATIBLE_INTERFACE does not affect the target it is set on.
5f926a5 Test printing origin of include dirs from tll().
7c0ec75 De-duplicate validation of genex target names.
...
Merge branch 'master' into next
Remove ability to generate sublime clang files.

SublimeClang is a optional plugin to SublimeText and I felt it
shouldn't be part of the generator for the following reasons:

1. Reduces the amount of sublime and sublimeClang specific
   code we have to maintain inside CMake.
2. In testing the SublimeClang commands generated did not work
   for the VTK project.

For people that do want this feature I recommend that they
looking into https://gist.github.com/robertmaynard/4724705 for a
way to use CMAKE_EXPORT_COMPILE_COMMANDS to generate JSON files
that can be used by SublimeClang.