Separate server and client and implement database

Use a client to just run the random tests and upload all the results
to a current local server.

Thus the test preparation and running process only occurs on clients,
and result statistics, analysis and representation are done on server.

Use SQLite to store and manage results on server.

Signed-off-by: Hao Liu <hliu@redhat.com>