refactor Unique/Config monads
avoid IO monad while compiling
add assertKnownLoc (issue #100)
Merge branch 'master' into local-termination
use better encoding of sets
add some assertKnowns