Error checking never actually checked anything

This likely causes https://github.com/leethomason/tinyxml2/issues/233

Look at what `XMLDocument::Clear()` does. It first sets  `_errorID = XML_NO_ERROR;` and then later calls `Error()` which compares `_errorID` against `XML_NO_ERROR`. So `Error()` always returns *false* at that point and the check doesn't really check anything and the *if* inner code is being run at all times.