Fix some clang warnings, fix missing virtual destructor for abstract base class