Refactored problem 18 to do a 'fold' type solution

Summary:
Refactored problem 18 to do a 'fold' type solution

Essentially, start at the bottom, and combine the last row with the second to last row; making the best decisions on the way. Then pass the new triangle to dumbchoice() to make a dumbchoice between the only two choices it has.

Fixes T3

Test Plan: totalsum:1074

Reviewers: #euler, alex

Reviewed By: #euler, alex

Maniphest Tasks: T3

Differential Revision: http://phab.asshat.net/D1