Rewrite file_reader

Replaced a significant error in the file_reader_reader function and
updated the tests. Associated tests not yet complete.
Rewrite the document_stack modules

document_stack now takes a void pointer, but perhaps this module will be
deleted in favour of a more procedural approach based on state machines.
Update document_node module

Node_T's now include pointers to both their preceding nodes, and their
parents, if they have one. There is a bit of a fiddle associated with
T_OPTNL nodes as such nodes automatically close a preceeding T_OPTNL
node.
Update document_builder

This module has been updated to reflect the change in the return type of
the file_reader, which now returns a Text_T which is a pointer anyway.

Still a lot to do on this function, as it is not easy to read and
understand.
Add document_search

This module may be deleted in the future, as I'm moving away from the
stack approach (see document_tree.)
Rewrite document_tree

Major change to a state machine approach to traversing the document
structure. This is the first attempt, which prints the document_tree.

I'm freezing this now to start development on associated tree functions
related to searching and removal of nodes and subtrees.
Update

increased the number of tests allowed in a test suite.

This module needs to be rewritten to do this dynamically, but it's not a
priority.
Update attribute_reader

The src file has only been slightly edited.

The test file now inlcudes a false case, showing that the attribute
reader will happily read a tag name, if it is given a false Text_T
chunk.
Update reflects changes in src