* Return shared_ptr from eventloop
* Add -Wdeprecated-copy-dtor warning
Produces a warning if classes don't have explicit copy operations if
they have a user-defined constructor.
This helps us stick to the rule of 5 (kinda, no warnings for missing
move operators).
* Clean up eventloop
* Fix compiler warnings
* Fix fs_event_handle_t name
This also moves the doc generation completely into cmake (no more
Makefile).
To generate the docs the project needs to first be configured and then
`make doc` can be run.
The approach used is leaned on the cmake's project own use of Sphinx:
Utilities/Sphinx/CMakeLists.txt
The previous approach relied on manually updating the version and date
using a Makefile
This approach dynamically gathers the correct version from git and uses
the date of the latest commit in the branch
The last patch only updated the generated file
and not the CMake template
Remove the generated file and add it to
.gitignore to prevent future mistakes