Fix silly compile error introduced by a previous type change
Switch to attribute based automatic problem discovery approach

Cleaned up main and separated individual problems into their own class
that 1. implements IEulerProblem and 2. is decorated by an attribute that
defines which euler problem the concrete class is solving