optimization

Each card can now tell BoardStateFactory if there are trivial cases in
which a card is not usable.  In these cases, BoardStateFactory will no
longer create deep copies of the BoardState.