Fix xmlParseInNodeContext() if node is not element

We really need to have ctxt->instate == XML_PARSER_CONTENT when
jumping in content parsing
Bug reported by Frank Gross
Restore context size and position after XPATH_OP_ARG

Fixes a bug with predicates:
https://mail.gnome.org/archives/xml/2014-March/msg00014.html
Fix a doc typo

Raised by Blasius Bieselbert on IRC
Added macros for argument casts
xmlNodeSetName: Allow setting the name to a substring of the currently set name

Avoid freeing the currently set name until after having assigned the new name,
this allows one to call xmlNodeSetName (node, node->name + 1) to set the new
name of the node to a substring of the current name without introducing any
crash and without requiring an extra strdup().
Do not fetch external parameter entities

Unless explicitely asked for when validating or replacing entities
with their value. Problem pointed out by Daniel Berrange <berrange@redhat.com>