Dir_cache: thread-safe concurrent calling of Cache_list::push_front

We're now using std::shared_timed_mutex instead of a simple std::mutex
because there will be multiple writer threads.
Dir_cache: storing user data; sorting

It's now possible to store user data along with dir entries in
Dir_vector. Users can now supply their Dir_sort_predicate functions for
sorting.
added User_data
Tab_manager: added on_sort_change method
Dir_cache: Soft_thread_interrupt will propagate out of get_dir_ptr call

fixed free_ptrs function
Interruptible_thread: added default and move ctors and move operator=
Tab_manager: changed ctor and add_tab a little bit

Update the tabs that need to be updated only once.
Type_factory: indention change
Tab: implemented tasking system

previews are disabled for now - still WIP
CMakeLists.txt: we need std::shared_timed_mutex

std::shared_timed_mutex is available in STL >=C++1y
ignore QtCreator's files
deleted Cache.h and Cache_impl.h
Dir_cache: fixed for_each method

continue wouldn't reach n = n->next
Tab_manager: change in name of alias type; change in Tab ctor

Passing the hard-coded delay of 50ms is only a temporary solution, of
course.
List_dir: no need for m_implicit_cursor anymore
Tab: previews are finally back!

We're using List_dir_vector's as a container for the main columns since
the preview is now stored in it's own member variable.