Added tactician to determine strategies for each checkout

created a class to manage the different strategies that takes in a
customer object and a checkout object which are then used to determine
if the checkout qualifies for a strategy.