Reorganize the kimchi's paths gereneration code

This patch reorganizes kimchi's paths generation code to make the user
of path vars can work with both kimchi root app and plugin app.

Signed-off-by: Mark Wu <wudxw@linux.vnet.ibm.com>
Add test cases for paths generation code

This patch adds test cases for paths generation code.

Signed-off-by: Mark Wu <wudxw@linux.vnet.ibm.com>
Allow plugin use kimchi's ui handler

To make kimchi's error handler and tabs handler resued for plugin,
this patch moves the resource related code into a subclass. With this
change, the plugin can have error handler and tabs handler by
inheriting from this class.

Signed-off-by: Mark Wu <wudxw@linux.vnet.ibm.com>