Switch ICard interface with an abstract class

In order to obtain the lower and higher index bounds I have switched
from interface to abstract class. Now there are two constructors, the
one without arguments creates cards that cannot be added to the deck but
can be created to find out what the index bound values are.