lib/boost: add a few useful Boost libraries
Util/Cache: use class boost::intrusive::list instead of ListHead

That class is easier to use and makes the code more readable.
Util/Cache: fix truncated comment
Util/Cache: use class boost::intrusive::unordered_set

Unlike std::unordered_set, we don't need an iterator to erase an item.
Trace: make constructors "explicit"