Added LGPL comments to the code, added comment and made a few robustn…
Further cleanup of the API.
* Removed inline code from the main header file.
* Made the use of value semantic smart pointer proxies more consistent.
* Removed the NullNode, NullKeys and NullScalar classes from the interface.
* Defined all virtual destructors as throw()
Addressed constness issues in the API.
Fixed a bug in nodetype(), made things more robust by adding more tests.