Repeated problems with more efficient code

- Completed problems again. Utilizing high order functions where
applicable
- 30-60% decrease in lines of code on most problems