Updated the knowledge construction traits to be more automated
Fixed bugs in the knowledge constructor traits

I also took out all of the forced traits in CLIPSArgumentBuilder as well as
providing a custom namer trait for CLIPSBasicBlockBuilder
Fixed more compiler errors with LibExpertSystem
Removed reference to the FunctionNamer in the base traits

I realized that we could just call the C version of Gensym* to cut down on the
amount of duplicated logic. I also removed the code that automatically named
the LLVM objects. The main reason for this being that it just isn't necessary
to do it and it just wastes time at the end of the day.

I also feel that the FunctionNamer provides functionality that is better suited
to be a part of the KnowledgeConstructor.
Modified the header of KnowledgeConstructor to take over for FunctionNamer