Add the default build tools for the project
Initial code drop

    Basically get the build file setup done.
    The Initial guess at the interface for Nisse

    It does not pass the code coverage yet.
    So a build will fail.
Make the unit tests pass.

    This includes code coverage of all *.cpp and *.tpp files
    Note: Making *.tpp get code coverage done is none trivial
            So added an example Nisse.tpp that we can use as an
            example for following files.
Renamed file and test name to match conventions.
Renamed Barn -> Lave And pulled it into its own files.

    Lave is Norwegian for barn (and it is where Nisse live (and work)).
Pulled Events into their own files.
Moved most of the Nisse template methods into the Nisse.tpp file
Moved NisseHat inside Nisse

    This is a private class and not really useful for others.
    So putting it where they can not get at it.
Update the README to provide get and build instructions