Modernize DaVinciInterfaces
- prefer inheritance from extend_interfaces over virtual inheritance
- prefer struct over class when there are only public members
- prefer implicit destructors
- remove obsolete SVN/CVS keywords
- replace BOOST_FOREACH with range-based for loops