Rename functional test cases

I rename all functional test cases according to the pattern
"...FunctionalTests" in order to be conform with the unit test cases
which end with "Tests" instead of "Test".  To prevent name clashes, I
add the part "Functional" to the names.  Also, I rename class
GeneralTestCase to GeneralFunctionalTestCase.