optimalization

move the atom-checking predicate last so it doesn't have to execute
every time.
destructuring instead of long first next chains
not using core, but sigmatism as main file
ignore .lein-repl-history file
inline functions and refactor
implement repl