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.
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.
Merge topic 'sublimeText2Generator' into next

1b75088 Remove ability to generate sublime clang files.
d3e9462 Correct missing parameter to CMP0018Flags call.
970483e SublimeText 2 Gen: Set the sublimeclang_options_script property.
7a68082 Sublime Text 2 Gen: Per-source Compile flags are now saved in a separate file.
a95e536 SublimeText2 Gen: Fixed the issue where include directory flags used -D
24ed586 SublimeText2 Gen: Improved use of define, include flags from CMAKE_C(XX)_FLAGS
28e81db Define flags in CMAKE_C(XX)_FLAGS are now included in SublimeClang settings.
fec0149 Fixed Sublime Text project generation for in-source builds
b45d7a4 Added a CMAKE_SUBLIMECLANG_DISABLED variable that disables SublimeClang.
a95df0d The generator no longer generates absolute paths to the ninja.build/Makefiles.
c87a4e3 The generator no longer generates an explicit list of source files.
4ec2a35 Added and cleaned up some comments.
46e9867 Fixed support for the Ninja build system.
62dfd39 Cleaned up the Sublime Text 2 Generator code a bit.
6108ebb Changed SublimeClang include path generation to expand to absolute paths.
fbeaa42 Added some support for sublimeclang_options in the generated project file.
...