Added simple HTML reporting

Simple HTML reporting for executed tests

Added the simple HTML reporting for the executed tests:
firstly the text result tables are saved to the CSV files,
and then they are converted to a single HTML report.
The generation of the report is using “pandas” and “jinja2"
modules. The CSS styles are using Mirantis style guides.
The Jijna template and the CSS styles are stored in the
‘templates/’ folder.

The ‘glance_speed_test’ output is improved and is using
a similar text table as the other tests.

At the end of each test case, the results are saved to
a new CSV file named after the test case in the ‘reports/’
folder. If the test is rerun, the new CSV is created
instead of the old one. In the end of the execution of
the tests, a single HTML report is created from all CSV
files in the ‘reports/’ folder.

Related-PROD: PROD-36943

Change-Id: Iceff8b168364219a01b60546bb9908e01d61c434
diff --git a/templates/template.j2 b/templates/template.j2
new file mode 100644
index 0000000..5003170
--- /dev/null
+++ b/templates/template.j2
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>SPT tests</title>
+        {% include 'templates/table_styles.css.j2' %}
+    </head>
+    <body>
+        <h1>Simplified Performance Tests (SPT)</h1>
+        <ul><strong>Configuration used in tests:</strong>
+            {% for key, value in tests_config_data.items() %}
+                <li>{{ key }}: <i>{{ value }}</i></li>
+            {% endfor %}
+        </ul>
+
+        {% for table in tables %}
+            <div class="test-header">
+                <h3>{{ table.title }}</h3>
+                <p class="note">Executed at: <i>{{ table.executed_at }}</i></p>
+            </div>
+            {{ table.df.to_html(index=False) }}
+        {% endfor %}
+
+        <p class="timestamp">Report generated at: {{ human_timestamp }}</p>
+    </body>
+</html>