WebsiteAgent: Introduce per-node XPath evaluation in extraction.

The new extraction sub-hash key `value` holds an XPath expression which
should be applied to each node to get the result value.

The previous directives `"text": true` and `"attr": "src"` are now
written as `"value": "text()"` and `"value": "@src"`, respectively.

With this enhancement, it is now possible for this agent to perform some
basic text processing on its own by making use of XPath functions like
`normalize-space`, `substring-after` and `translate`.
WebsiteAgent: Add a spec for XPath returning an integer value.
WebsiteAgent: Improve readability with regard to XPath evaluation.
`"text": true` should have meant ".//text()", not "text()".
Correct an XPath in description.
Look into options['extract'] for checking the extraction type.

WebsiteAgent#extraction_type was private and uncallable, and may not
remain existent in future.
Merge pull request #412 from knu/website_agent-per_node_xpath

WebsiteAgent: Introduce per-node XPath evaluation in extraction.