Provide more context variables in update scripts

In addition to `_source`, the following variables are available through the `ctx` map: `_index`, `_type`, `_id`,  `_version`, `_routing`, `_parent`, `_timestamp`, `_ttl`.

Some of these fields are more useful still within the context of an Update By Query, see #1607, #2230, #2231.
I think this assert in particular (the timestamp one) could be greatly simplified by asserting inside of the script itself instead of setting a new field value.