test: change testcase to allow running single test

v2>v3, rebase to latest.

run_test can be used from the command line to run tests from modules,
classes or even individual test methods. When with no parameter,
run_tests.sh will run all testcases under /tests.

run_tests.sh test_module1 test_module2
run_tests.sh test_module.TestClass
run_tests.sh test_module.TestClass.test_method
run_tests.sh

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
Need root privilege to run test_vm_list_sorted test

When the test case was run by a common user, following
errors displayed:
ERROR: test_vm_list_sorted (test_model.ModelTests)
---------------------------------------------
  File "/usr/lib64/python2.7/site-packages/libvirt.py",
  line 236, in open
    if ret is None:raise libvirtError('virConnectOpen() failed')
libvirtError: authentication failed: polkit:
polkit\56retains_authorization_after_challenge=1
Authorization requires authentication but no agent is available.

Signed-off-by: Shu Ming <shuming@linux.vnet.ibm.com>
doc: Update README.md with more package dependencies

libvirt and libvirt-python are also required in order to run kimchi.
Update the README with this information.

libvirt is not necessarily.  Libvirt has a remote protocol so it is possible
to just install the libvirt library and client utils (python bindings) but
not install the local daemon.

Here we want to explicitly select the local libvirt daemon.

Signed-off-by: Adam Litke <agl@linux.vnet.ibm.com>
Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>
Remove useless text in template-add.html.tmpl

Useless text "$_("Virtual Machine Name")" found in template-add.html.tmpl, remove it.

Signed-off-by: Xin Ding <xinding@linux.vnet.ibm.com>