Added libphutil, some code cleanup, and proposed GPNode magic API