Add dnode support, code cleanup.

Basic dynamic node creation was added (used to create nodes
at runtime). Minor code modifications and refactoring was done
(mainly token matching functions). Standard assert() assertions
were changed to custom u_assert macro to allow user to define
custom action in case of assertion fail.

Parser documentation was moved to its header file. README was
updated to reflect new changes.
Add value to string function.