Solution to problem 89

Working out the modify boundaries programmatically stumped me for a
little while. Also switched from 'for' loops to 'while' loops to remove
needless loop iterations during integer->roman.
Solution to problem 92

Adding memoisation here sped the algorithm up by a factor of three.