Fix build for G++ 4.8.2 (Fedora 20)

The issue here is that G++ warns about a potential misuse of delete on a
polymorphic object which the base class hasn't a virtual destructor. In
our code that's not a problem because by design, we make the destructor
protected so we can't delete "by the base class pointer type".

However G++ is being picky here, as described in
http://gcc.gnu.org/wiki/VerboseDiagnostics#delete-non-virtual-dtor "the
warning will sometimes be issued for correct code". The workaround of
marking the class final is not widely available yet, so we live with the
simplest fix.
Merge pull request #1390 from cmarcelo/unbreak-build-for-fedora-20

Fix build for G++ 4.8.2 (Fedora 20)