Makefile more generic
proto: tools for number conversion
moved common includes to include/
catchup3: use std::unordered_map for caching
catchup3: reworked winner macros, better naming, better handling

- now to disable the early return just the return statement in
  FOUND_WINNING_MOVE is the important place to disable
write cache only when new entries where found
print all values in the tree