Beminfo 366

* Support new library data format with any numbers of docs or custom nodes
* Large code refactoring for data compiling.
* Make fat models that can build their own childs
* Fix router middleware to support current for custom nodes