Removed unused members (and respective constructor parameters)

These members were actually unused, but please double-check whether that is
intended.
De-virtual-ized the load(const YAML::Node&) methods

The use of virtual is incorrect for load, since they're not really overloaded.
The signatures of load(...) for quite a few classes take extra parameters,
which indicates it's more like a constructor than anything else.
Made unsafe conversion between object pointers and function pointers explicit
Suppressed miscellaneous Clang++ warnings

* File should end with an End Of Line character
* No semicolons where they don't belong
* Signed/unsigned arithmetic
* A struct that is a friend is still a `friend struct`
* Use an unused parameter (no other way, due to preprocessor stuff)