Analysis

Merge src/analysis/core.clj in to master - I will be making more updates to this in the future, but this is the core stuff that probably won't change.