add EulerProblem base class
refactor EulerProblem as base class, refactor Euler01-03 as derived classes