Introduce Categories to the functional tests

Categories can be used for sanely filtering test execution.
The Categories of functional tests are:
1. Basic Acceptance Test
2. Detailed Test
3. Concordion Test

Execution of the categories is similar to before, but instead now the
top level suite file can be used, eg.
-Dinclude.test.patterns="**/DetailedTestSuite.java