Refactor types
Better error handling in the assembler
Separate dynamic type from base type

Also add toString methods
Rafactor logic type
Refactor repl
Fix assembler
Revert "Separate dynamic type from base type"

This reverts commit 1a898ea7b0c2e1665346dff1e48babf627530f1c.

Conflicts:
	index.js
	kasm.js
	lib/assembler.js
	lib/eval.js
	lib/types/logic.js
Remove template evaluation from logic type
Remove type strings
New eval semantics

All logic objects take a single argument that must evaluate to a list.
That list is used as the args instead of constructing a list a parse time.
New syntax