Cleaned up Data.

- Use scoped enums.
- Added static creators for string literals.
Refactored use of enum as template parameter.
Workaround for YouCompleteMe failing to find C++ headers.