Refactored for superclass of KnapsackSolver

refactored the OptimumKnapsackSolver to have a superclass of
KnapsackSolver and renamed sub class to DynamicProgramming
KnapsackSolver