Issue174

Note keyword name different than issue due to Java port which has a name more in line with other keywords.
Implementation is complex in order to accommodate having a different error message when the element is not present, which I think is important during failure analysis. Remember when you made Get Text and Element Should Contain return different errors when the element was not present? Same philosophy.