moved db-add's DatabaseTool into separate file

db-add.cpp declared a DatabaseTool class which contained generic code that was likely to be common among multiple command line tools. This commit extracts this class into a separate clean auris::tools::Generic class in tools/Generic.hpp. Also added extensive documentation to the class as this thing seems to be one of the fundamental ingredients of the command line interface :)