Better error handling using fail

`unexpected` might not be the best for this case :/
Bug fix: Wrong simplification rule for Roots
Module rename: UPNParse -> RPNParse
RPNParse documentation added.