Derived base classes should inherit virtually

An agent class that has both a position and assets needs to be able to
inherit from both AssetAgent and PositionalAgent, which requires that
those both inherit from Agent virtually.