update to work with latest llvm, reorg source tree
Add license (MIT)