Added CMakelists to allow the use of cmake in configuring the project
added -Wall and -Wextra and fixed the warnings produced
fixed issue causing segfault
changed how Lavie builds
pass things by reference-to-const rather than by value
more refereces-to-const
removed duplicated code as the base class provides an implementation