added ISC License
added gitignore
major refactor, splitting out core lib from CLI component