Legal and initial stuff

Add license and reference to it to readme.
Add (empty) .gitignore
Create basic CMake infrastructure

Create master CMakeList and top-level library CMakeList.
Create library 'infra'

Create empty library 'infra' - small infrastructure utilities.
INFRA: Create function_caller

Create class function_caller for wrapping a compile-time selected function
in a functor.