Error handling changes.

- Install error handlers before functions using them, so they're installed on the relevant thread.
- Build error instance in error handler, rather than relying on pointer remaining valid.
- Extract libxml2 error when parsing an XML document, attach to existing error as an underlying error.
Enable "Suspicious Implicit Conversions" warning and fix occurances
Enable "Hidden Local Variable" warning and fix occurance
Merge remote-tracking branch 'ThomasHaukAbsoluteSoftware/4.1.1-with-local-changes'
Merge remote-tracking branch 'tewha/error'