Clear up pointer confusion in constructors
Provide ASSERT debug macro
More pointer misunderstandings fixed
Rewriting NEAT for maintainability (WIP)
neat.c polishing pass