made RecursionGuard a concrete class,
made RecursionGuard a concrete class,

instead of an abstract class. The goal is to refactor towards composition
instead of inheritance. Ultimately, this means getting rid of the three
child classes currently deriving from RecursionGuard.

The first step is to make RecursionGuard a concrete class, but that also
means that some abstract members have been changed into virtual.
Currently, they aren't implemented, but that comes next.

mrinaldi/AutoFixture,yuva2achieve/AutoFixture,yuva2achieve/AutoFixture,adamchester/AutoFixture,AutoFixture/AutoFixture,hackle/AutoFixture,adamchester/AutoFixture,sean-gilliam/AutoFixture,sergeyshushlyapin/AutoFixture,hackle/AutoFixture,olegsych/AutoFixture,zvirja/AutoFixture,dlongest/AutoFixture,dlongest/AutoFixture,amarant/AutoFixture,sbrockway/AutoFixture,amarant/AutoFixture,sbrockway/AutoFixture,dcastro/AutoFixture,StevenJiang2015/AutoFixture,mrinaldi/AutoFixture,sergeyshushlyapin/AutoFixture,StevenJiang2015/AutoFixture,olegsych/AutoFixture,dcastro/AutoFixture,Pvlerick/AutoFixture