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
fix gcc warnings
added documentation back
Merge pull request #2 from cranman/master

Various build system and general neatness updates from cranman