Throw exception for IL as we should only subtract to the 2 next highest values
Refactored too much repeating to just use string contains

This is actually much simpler!  Solves my "I have two loops" problem.
Refactored invalid repeat condition to use string contains

Removed a lot of code.  Awesome!
Just return once
Throw exception for IC, ID, IM
Throw exception for XD
Throw exception for XM
Throw exception if V is subtracted
Throw exception if L is subtracted
Throw exception if D is subtracted