Initial commit for the official OP-TEE documentation

This initial commit brings in all existing documentation found across
various gits making up the documentation for the OP-TEE project. So in
summary what this includes and what has been done is:

- Import all old documentation (optee_os, optee_client, optee_test and
  so on).
- Convert everything from markdown (*.md) to reStructuredText (*.rst).
- Add a couple of new pages (optee_docs, disclosure policy to name a
  few).
- Add Sphinx configuration.
- Add Travis configuration to enable automatic testing of future
  documentation patches.
- Finally, a general clean-up and verification of content,
  links as well as verification of build instructions etc has also been
  done.
diff --git a/architecture/file_structure.rst b/architecture/file_structure.rst
new file mode 100644
index 0000000..3cca3a6
--- /dev/null
+++ b/architecture/file_structure.rst
@@ -0,0 +1,186 @@
+.. todo::
+
+    Joakim: Question is whether this should be moved under the "optee_os"
+    specific page instead?
+
+.. _file_structure:
+
+File structure
+##############
+This page describes what different folders in :ref:`optee_os` contains.
+
+Top level directories
+*********************
+.. list-table:: Top level directories
+    :header-rows: 1
+    :widths: 1 5
+
+    * - Directory
+      - Description
+
+    * - /core
+      - Files that are only used building TEE Core
+
+    * - /lib
+      - Files that are used both when building TEE Core and TAs
+
+    * - /ta
+      - Files that are only used when building TAs
+
+    * - /mk
+      - Makefiles supporting the build system
+
+    * - /tmp-stuff
+      - Temporary stuff that will be removed before the final commit is made
+
+    * - /scripts
+      - Helper scripts for miscellaneous tasks
+
+    * - /out
+      - Created when building unless a different out directory is specified with
+        ``O=...`` on the command line
+
+/core
+*****
+.. list-table:: Structure of /core
+    :header-rows: 1
+    :widths: 1 5
+
+    * - Directory
+      - Description
+
+    * - /arch
+      - Architecture and platform specific files
+
+    * - /include
+      - Header files of resources exported by the core
+
+    * - /lib
+      - Generic libraries that are likely to be replaced in a final product
+
+    * - /mm
+      - Generic memory management, currently empty
+
+    * - /tee
+      - Generic TEE files
+
+/core/arch
+**********
+.. list-table:: Structure of /core/arch
+    :header-rows: 1
+    :widths: 1 5
+
+    * - Directory
+      - Description
+
+    * - /arm
+      - ARMv7 and Aarch32 specific architecture and platform specific files
+
+/core/arch/arm
+**************
+.. list-table:: Structure of /core/arch/arm
+    :header-rows: 1
+    :widths: 1 5
+
+    * - Directory
+      - Description
+
+    * - /dts
+      - Device tree source files
+
+    * - /include
+      - Include files used in rest of TEE core but not in any supporting
+        libraries
+
+    * - /kern
+      - Low level and core parts of TEE Core
+
+    * - /mm
+      - Memory management
+
+    * - /tee
+      - TEE files
+
+    * - /sm
+      - Secure Monitor
+
+    * - /plat-foo
+      - Specific files for the ``foo`` platform
+
+/core/arch/arm/include
+**********************
+.. list-table:: Structure of /core/arch/arm/include
+    :header-rows: 1
+    :widths: 1 5
+
+    * - Directory
+      - Description
+
+    * - /kern
+      - Include files exposing API for /core/arch/arm/kern files
+
+    * - /kta
+      - Include files exposing the KTA API that is mainly used by kernel TAs
+
+    * - /mm
+      - Include files exposing API for /core/arch/arm/mm files
+
+    * - /rom
+      - Old ROM files that should be removed before going public
+
+    * - /sm
+      - Include files exposing API for Secure Monitor
+
+/core/include
+*************************
+.. list-table:: Structure of /core/include
+    :header-rows: 1
+    :widths: 1 5
+
+    * - Directory
+      - Description
+
+    * - /drivers
+      - Include files exposing API for /core/drivers files
+
+    * - /dt-bindings
+      - Include files for the device tree bindings
+
+/core/lib/lib{crypto,sla}
+*************************
+.. list-table:: Structure of /core/lib/lib{crypto,sla}
+    :header-rows: 1
+    :widths: 1 5
+
+    * - Directory
+      - Description
+
+    * - /
+      - Source files for the library
+
+    * - /include  
+      - Include files exposing the API of the library
+
+/lib/libutils
+*************
+.. list-table:: Structure of /lib/libutils
+    :header-rows: 1
+    :widths: 1 5
+
+    * - Directory
+      - Description
+
+    * - /
+      - Source file for the library
+
+    * - /arch	  
+      - Architecture specific source files
+
+    * - /arch/arm 
+      - ARMv7 and Aarch32 specific source files
+
+    * - /arch/arm/include 
+      - ARMv7 and Aarch32 specific include files
+
+    * - /include  
+      - Include files exposing the API of the library