implement locking properly with std::mutex and std::lock_guard<>
C++11 migration:

- use lambda functions instead of binding member functions
- replace boost::mutex by STLs <mutex>
- reformat according to new guidelines
remove superflous includes
use nullptr instead of NULL
use proper types instead of implicit casts
refactor list of const static int into scoped enum
remove superflous boost include
refactor Tools dir for C++11
refactor Tools dir for C++11
refactor and migrate root directory
refactor and migrate root directory
Split RestrictionMap and NodeBasedGraph from EdgeBasedGraphFactory

First step in an effort to simplify EdgeBasedGraphFactory.
Reorder initialization to fix warnings
Move BFSComponentExplorer to own header.
Split EBGF::Run into smaller sub-functions

I'm not too happy with this yet. It is not really clear cut.
Also, I would like to move the logging in ::Run, seems messy in the
sub-functions.
Replace numeric_limits with SPECIAL_NODEID / SPECIAL_EDGEID
Apply clang-modernize to Contractor/
Apply clang-format on Contractor/
Switched to std::shared_ptr in Contractor/
Move BFSComponentExplorer to Contractor/