Add first version of CMake framework code

This commit adds the core elements of the framework and documentation:
 - Map utility: store key-value pairs.
 - Group utility: store build configuration options.
 - STGT API: describe the targets.
 - Compiler abstraction functions for GCC.
 - Other helper functions.
 - New CMake system type called "Embedded", using correct output file
   prefixes and extensions.
 - Sphinx based documentation which includes:
    - licensing information
    - version numbering policy
    - documentation on how-to build the documentation

In addition the following utility files are added:
  - .editorconfig
  - .gitignore

Change-Id: If19a171ef066775d3544fba82f1cc70a5fb0e7d7
Signed-off-by: Balint Dobszay <balint.dobszay@arm.com>
Co-authored-by: Gyorgy Szing <gyorgy.szing@arm.com>
Co-authored-by: Bence Szépkúti <bence.szepkuti@arm.com>
diff --git a/doc/requirements.txt b/doc/requirements.txt
new file mode 100644
index 0000000..ff3a3f6
--- /dev/null
+++ b/doc/requirements.txt
@@ -0,0 +1,11 @@
+#

+# Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.

+#

+# SPDX-License-Identifier: BSD-3-Clause

+#

+# Python dependencies for building the documentation.

+

+Sphinx==2.3.1

+sphinx-rtd-theme==0.4.3

+sphinxcontrib-moderncmakedomain==3.13

+sphinxcontrib-plantuml==0.18