Fix the value fetcher to deal with NT_TEXT nodes.

Due to the introduction of the NT_TEXT nodes, all of the simple value fetchers
broke.  To fix, make a GetValue function fetch all NT_TEXT nodes for
NT_ELEMENT nodes, and put them together, using string.TrimSpace to remove
extra, maintaining compatibility.  Then change the .S function to use GetValue
to fetch a node's content. Also, make all the other value fetchers use .S to
get a string representation to convert, centralizing the implementation.  Use
.S to centralize the handling of a not found node.

Also, implement a series of tests to verify all the fetcher's functionality.
The test is based on the test produced by Tim Jurcka.