Adds verbose mode to the test suites

Added a verbose option to the generated test suites which can list the
dependencies not met for skipped test cases.
Also clarifies internal interfaces between the main_test.function and test code,
and fixed a bug on calculating available tests in run-test-suites.pl.
diff --git a/tests/suites/helpers.function b/tests/suites/helpers.function
index c18eed8..2eff043 100644
--- a/tests/suites/helpers.function
+++ b/tests/suites/helpers.function
@@ -32,9 +32,18 @@
 
 
 /*----------------------------------------------------------------------------*/
-/* Global variables */
+/* Constants */
 
-static int test_errors = 0;
+#define DEPENDENCY_SUPPORTED        0
+#define DEPENDENCY_NOT_SUPPORTED    1
+
+#define KEY_VALUE_MAPPING_FOUND     0
+#define KEY_VALUE_MAPPING_NOT_FOUND -1
+
+#define DISPATCH_TEST_SUCCESS       0
+#define DISPATCH_TEST_FN_NOT_FOUND  1
+#define DISPATCH_INVALID_TEST_DATA  2
+#define DISPATCH_UNSUPPORTED_SUITE  3
 
 
 /*----------------------------------------------------------------------------*/
@@ -81,6 +90,12 @@
 
 
 /*----------------------------------------------------------------------------*/
+/* Global variables */
+
+static int test_errors = 0;
+
+
+/*----------------------------------------------------------------------------*/
 /* Helper Functions */
 
 static int unhexify( unsigned char *obuf, const char *ibuf )