Refactor Threadpool class

Part of #4 issue.
Move std::unique_lock<std::mutex> to typedef, since it is used often. Maybe make typedef std::unique_lock<std::mutex> Lock; common for both Latch and ThreadPool? It might be used later on in other parts of library as well.