Implimentation of ProjectNode, impromvements to project.yml, updates Project with fields found in example yaml file, tidied up source a bit, add/rm targets should work(?)