Tab: we're now creating cols

The ctor is changed - we're now creating columns with proper default
handlers (List_dir for inode/directory type)
TabManager: updated the column creation
Type_factory: Type_factory::Type_product is no longer a function ptr
dir: implemented cache
Column: new ctors and a destructor
Tab: changed ctor
TabManager: Tab_iterator moved to Tab_manager; changed ctor
Type_factory: Type_product alias moved to Type_factory
Cache: add_dir_entry demoted to protected
dir: removed/added a few classes/structs

Dir_vector now stores only boost::filesystem::path (this may change
later), m_cache is now stored as an object - not a pointer.

Added fill_cache function.
Cache.cpp moved to Cache_impl.h
Handler: handlers now handle its data reading independently
method definitions of Cache are now here
added Column.cpp